A117036.[COCI 2024/2025 #3] 涂矩阵 / Bojanje

普及+/提高

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

有一个初始为全白的 n×nn\times n 矩阵。

每次操作可以选择一列或者一行,将这一列或者这一行覆盖成红色或者蓝色。

给定矩阵的目标状态,请你构造一组操作序列,使得矩阵达到目标状态,或者报告无解。

不需要最小化操作序列的长度,只需要构造出合法方案即可。

输入格式

第一行,一个正整数 nn

接下来 nn 行,每行 nn 个整数,第 ii 行第 jj 个整数 ai,ja_{i,j} 描述目标状态中第 ii 行第 jj 列格子的颜色:

00 表示白色。

11 表示红色。

22 表示蓝色。

输出格式

如果无解,输出 1-1

否则,第一行输出一个整数 kk,表示操作序列长度。

你需要保证 0k40000\le k\le 4000

接下来 kk 行,每行三个正整数 a,b,ca,b,c,依次描述一次操作:

a{1,2}a\in\{1,2\}

a=1a=1 表示选择的是行。

a=2a=2 表示选择的是列。

1bn1\le b\le n,表示选择的是第 bb 行或者第 bb 列。

c{1,2}c\in\{1,2\}

c=1c=1 表示涂成红色。

c=2c=2 表示涂成蓝色。

输入输出样例

  • 输入#1

    3
    0 0 1
    1 1 1
    0 0 1

    输出#1

    2
    2 3 1
    1 2 1
  • 输入#2

    3
    1 1 2
    2 1 1
    2 1 1

    输出#2

    -1
  • 输入#3

    4
    0 1 2 1
    2 2 2 1
    0 1 2 1
    1 1 2 1

    输出#3

    5
    2 2 1
    1 2 2
    2 4 1
    1 4 1
    2 3 2

说明/提示

数据范围

对于 100%100\% 的数据:

1n20001\le n\le 2000

0ai,j20\le a_{i,j}\le 2

输出操作数需要满足:

0k40000\le k\le 4000

子任务

子任务编号 nn\le 特殊性质 得分
11 20002000 特殊性质 A 1515
22 100100 3535
33 20002000 4040

特殊性质 A:ai,j{0,1}a_{i,j}\in\{0,1\}

首页