给出一个9*9的表格,部分格子已经填好数。请填完所有空白格子,使得表格每一行、每一列、每个3*3的九宫格,都恰好填满1-9这9个数字。
输入第1行:1个整数,表示测试数据的个数,接下来依次是每个测试数据
每个数据共9行,每行恰好9个数字字符串。每个数字在0-9之间,若为1-9则表示某个格子已经填好的数字,若为0,则表示未填数
输出每个测试数据输出9行,表示填好的数独表格
样例输入1103000509002109400000704000300502006060000050700803004000401000009205800804000107样例输出143628579572139468986754231391542786468917352725863914237481695619275843854396127首先认定使用深搜(广搜完全是找死),每一个格子都试一下每一个数,如果这个格子初始就有数,使用一个 if 语句跳过
代码如下:
#include#include#includeusing namespace std;int v[11][11],h[11][11],l[11][11],a[11][4][4];bool q;void start(){memset(v,0,sizeof(v));memset(h,0,sizeof(h));memset(l,0,sizeof(l));memset(a,0,sizeof(a));q=0;}void scan(){char c[11];for(int i=1;i