#P17002. [SGU479] Funny Feature

[SGU479] Funny Feature

题目描述

有一个 n×mn\times m 的矩形平台,被划分成 n×mn\times m 个单位方格。题目给出了每个格子最终应该种下多少个南瓜,数量均为 151\sim5

种植机器每次可以指定一个格子 (x,y)(x,y),并执行如下操作:

  • 在指定格子中种下一个南瓜;
  • 对于与该格子共享一条边的每个相邻格子,如果该相邻格子在操作发生前已经至少有一个南瓜,则还会在该相邻格子中额外种下一个南瓜。

由于技术限制,每个格子恰好只能被指定一次。因此总共必须执行 n×mn\times m 次操作。

请输出一种操作顺序,使最终每个格子的南瓜数量与给定方案完全一致;若不存在这样的顺序,输出 No solution

输入格式

第一行两个整数 n,mn,m,满足 1n,m2001\le n,m\le200

接下来 nn 行,每行 mm 个整数 ai,ja_{i,j},满足 1ai,j51\le a_{i,j}\le5

输出格式

若有解,输出 n×mn\times m 行,每行两个整数 x,yx,y,表示下一次指定的格子。每个格子必须恰好出现一次。

若无解,输出:

No solution

样例 1

1 2
1 2
1 2
1 1

样例 2

2 1
1
1
No solution