不管输入是什么输出都是0,找了好久找不到问题
#include<iostream>
#include<cstdio>
using namespace std;
int m[2000][2000], n;
void dfs(int x,int l,int r) {
if (x == 2) {
m[l][r] = 0;
return;
}
else {
x = x / 2;
for (int i = l; i <= l + x - 1; i++) {
for (int j = r; j <= r + x - 1; j++) {
m[l][r] = 0;
}
}
dfs(x, l + x, r);
dfs(x, l + x, r + x);
dfs(x, l, r + x);
}
}
int main()
{
cin >> n;
n = pow(2,n);
memset(m, sizeof(m), 1);
dfs(n, 1, 1);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n-1; j++) {
cout << m[i][j]<<" ";
}
cout << m[i][n] << endl;
}
return 0;
}
各位大佬帮帮