如果帮我调好我一定召集我认识的人关注你QAQ
#include <bits/stdc++.h>
#define int long long
#define n 9
using namespace std;
int a[11][11];
void print() {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
exit(0);
}
bool judge() {
for (int i = 1; i <= n; i++) {
int t[10] = { 0 };
for (int j = 1; j <= n; j++) t[a[i][j]]++;
for (int j = 1; j <= n; j++)
if (t[j] > 1) return false;
}
for (int i = 1; i <= n; i++) {
int t[10] = { 0 };
for (int j = 1; j <= n; j++) t[a[j][i]]++;
for (int j = 1; j <= n; j++)
if (t[j] > 1) return false;
}
for (int x = 1; x <= n; x += 3) {
for (int y = 1; y <= n; y += 3) {
int t[10] = { 0 };
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
t[a[x+i][x+j]]++;
}
}
for (int i = 1; i <= n; i++)
if (t[i] > 1) return false;
}
}
return true;
}
void dfs(long long x, long long y) {
if (a[x][y]) {
if (x == n && y == n) print();
else if (y == n) dfs(x+1, 1);
else dfs(x, y+1);
} else {
for (int i = 1; i <= n; i++) {
a[x][y] = i;
if (judge()) {
if (x == 9 && y == 9) print();
else if (y == 9) dfs(x+1, 1);
else dfs(x, y+1);
}
else a[x][y] = 0;
}
}
}
signed main() {
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j+
scanf("%d", &a[i][j]);
dfs(1, 1);
return 0;
}