这题有规律吗?

P5731 【深基5.习6】蛇形方阵

没有 感觉做这题意义不大 但是初学可以做一下加深一下对循环的理解(? @[220218SZC](/user/1105630)
by PorkSausage @ 2024-03-19 13:55:17


~~反正我没做~~
by PorkSausage @ 2024-03-19 13:57:34


懒得调格式了,就这样吧,要证明过程可以给我说一下: ```cpp #include <iostream> using namespace std; int fourmin(int a, int b, int c, int d){ int abmin = min(a,b); int cdmin = min(c,d); return min(abmin,cdmin); } int getvalue(int x, int y, int n) { int d = fourmin(x, y, n-x+1, n-y+1); d--; int a = 4*(n*d-d-d*(d-1))+1; d++; if (d == x){ a += y-d; } else if (d == n-y+1){ a += (n-2*(d-1)-1)+(x-d); } else if (d == n-x+1){ a += 2*(n-2*(d-1)-1)+(n-d+1-y); } else if (d == y){ a += 3*(n-2*(d-1)-1)+(n-d+1-x); } return a; } int n; int main(){ scanf("%lld", &n); for (int i = 1; i <= n; ++i) { for (int j = 1; j <= n; ++j) printf("%3d", getvalue(i, j, n), "\t\n"[j == n]); } return 0; } ```
by chat_jinxuan @ 2024-03-19 14:30:35


@[220218SZC](/user/1105630) @[chat_jinxuan](/user/726525) 楼上应该是正解,但是我忘了怎么输出用空格补齐了,就这样吧(
by chat_jinxuan @ 2024-03-19 14:32:15


|