你加钠了吗 • 10天前
using namespace std; int x[1025][1025];
void so(int x1, int y1, int x2, int y2, int a, int b) {
if (x1 == x2) {
x[x1][y1] = a;
return;
}
int mx = (x1 + x2) / 2;
int my = (y1 + y2) / 2;
int half = (a + b) / 2;
int q = (a + half) / 2;
int q2 = (b + half) / 2;
so(x1, my + 1, mx, y2, a, q);
so(mx + 1, my + 1, x2, y2, q + 1, half);
so(mx + 1, y1, x2, my, half + 1, q2);
so(x1, y1, mx, my, q2 + 1, b);
}
int main() {
int n;
cin >> n;
so(1, 1, 1 << n, 1 << n, 0, (1 << (2 * n)) - 1);
for (int i = 1; i <= (1 << n); i++) {
for (int j = 1; j <= (1 << n); j++) {
cout << x[i][j] << " ";
}
cout << endl;
}
}
评论:
请先登录,才能进行评论