Logo Wy Online Judge

WyOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#433#67. 「NOIP2015」神奇的幻方Pigsyy10013ms2012kbC++231.7kb2025-04-24 13:15:452025-04-24 13:15:46

answer

#include <stdio.h>
int main() {
    int n, k, i, j, z = 1;
    scanf("%d", &n);
    int a[n][n];

    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            a[i][j] = 0;
        }
    }

    a[0][(n - 1) / 2] = 1;
    int x, y;
    x = 0;
    y = (n - 1) / 2;

    for (k = 2; k <= n * n; k++) {
        z = 1;

        for (i = 0; i < n && z != 0; i++) {
            if (a[0][i] == (k - 1) && i != (n - 1)) {
                a[n - 1][y + 1] = k;
                x = n - 1;
                y += 1;
                z = 0;
                break;
            }
        }

        for (i = 0; i < n && z != 0; i++) {
            if (a[i][(n - 1)] == (k - 1) && i != 0) {
                a[(x - 1)][0] = k;
                x -= 1;
                y = 0;
                z = 0;
                break;
            }
        }

        for (i = 0; i < n && z != 0; i++) {
            if (a[0][(n - 1)] == (k - 1)) {
                a[(x + 1)][y] = k;
                x += 1;
                z = 0;
                break;
            }
        }

        for (i = 0; i < n && z != 0; i++) {
            if (a[0][i] != (k - 1) && a[i][n - 1] != (k - 1)) {
                if (a[x - 1][y + 1] == 0) {
                    a[x - 1][y + 1] = k;
                    x -= 1;
                    y += 1;
                    z = 0;
                    break;
                } else {
                    a[x + 1][y] = k;
                    x += 1;
                    z = 0;
                    break;
                }
            }
        }
    }

    for (i = 0; i < n; i++) {
        for (x = 0; x < n; x++) {
            printf("%d ", a[i][x]);
        }

        printf("\n");
    }

    return 0;
}

Details

小提示:点击横条可展开更详细的信息

Test #1:

score: 10
Accepted
time: 1ms
memory: 1844kb

input:

3

output:

8 1 6 
3 5 7 
4 9 2 

result:

ok 9 tokens

Test #2:

score: 10
Accepted
time: 1ms
memory: 1912kb

input:

1

output:

1 

result:

ok "1"

Test #3:

score: 10
Accepted
time: 2ms
memory: 1840kb

input:

5

output:

17 24 1 8 15 
23 5 7 14 16 
4 6 13 20 22 
10 12 19 21 3 
11 18 25 2 9 

result:

ok 25 tokens

Test #4:

score: 10
Accepted
time: 1ms
memory: 2012kb

input:

7

output:

30 39 48 1 10 19 28 
38 47 7 9 18 27 29 
46 6 8 17 26 35 37 
5 14 16 25 34 36 45 
13 15 24 33 42 44 ...

result:

ok 49 tokens

Test #5:

score: 10
Accepted
time: 2ms
memory: 1884kb

input:

19

output:

192 213 234 255 276 297 318 339 360 1 22 43 64 85 106 127 148 169 190 
212 233 254 275 296 317 338 3...

result:

ok 361 tokens

Test #6:

score: 10
Accepted
time: 1ms
memory: 1752kb

input:

21

output:

233 256 279 302 325 348 371 394 417 440 1 24 47 70 93 116 139 162 185 208 231 
255 278 301 324 347 3...

result:

ok 441 tokens

Test #7:

score: 10
Accepted
time: 2ms
memory: 1752kb

input:

31

output:

498 531 564 597 630 663 696 729 762 795 828 861 894 927 960 1 34 67 100 133 166 199 232 265 298 331 ...

result:

ok 961 tokens

Test #8:

score: 10
Accepted
time: 0ms
memory: 1776kb

input:

33

output:

563 598 633 668 703 738 773 808 843 878 913 948 983 1018 1053 1088 1 36 71 106 141 176 211 246 281 3...

result:

ok 1089 tokens

Test #9:

score: 10
Accepted
time: 2ms
memory: 2012kb

input:

37

output:

705 744 783 822 861 900 939 978 1017 1056 1095 1134 1173 1212 1251 1290 1329 1368 1 40 79 118 157 19...

result:

ok 1369 tokens

Test #10:

score: 10
Accepted
time: 1ms
memory: 1756kb

input:

39

output:

782 823 864 905 946 987 1028 1069 1110 1151 1192 1233 1274 1315 1356 1397 1438 1479 1520 1 42 83 124...

result:

ok 1521 tokens