U87848 聪明格
题目描述
聪明格是一种数字游戏,又堪称升级版的数独,诞生日本。它在数学上的要求比数独要高得
多,它把数独规则与加减乘除四则运算相结合,使大脑在各种谜题中来回穿梭。
----摘自百度百科
它的规则是这样的:
有一个 n*n 的棋盘,每个格子里填一个在 1~n 范围内的数,使得每行每列没有重复的数字,
(即 1~n 每个数在每行和每列各出现一次),且满足下列条件:
:表示这个格子里应填 1
:表示这个格子里填的两个数之积为 12
:表示这三个格子里填的三个数之积为 6。
现在给你一个 n*n 的棋盘,让你完成它,并输出解的个数和字典序最小的方案。
数据保证一定有解。
输入格式
第一行一个正整数 n,表示棋盘的行数和列数。
接下来 n 行,每行 n 个正整数。表示:相同数字构成了许多个连通块,假设这个四连通块内
每个数字都为 a,那么你在这些格子上填的数的乘积应该等于 a。(具体描述见样例)
输出格式
输出共 n+1 行,第一行输出解的个数
接下来 n 行,每行 n 个正整数。表示 n*n 的矩阵里每个数字的值(字典序最小的方案)。
说明/提示
测试点 n= 输入矩阵中不同种类数字个数
1-2 3 >=3
3-4 5 >=10
5-7 9 >=30
8-10 9 >=20
100% 的数据满足,矩阵中每个数字