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% 的数据满足,矩阵中每个数字