Submission #74532987
Source Code Expand
#include<cstdio>
int n, m;
int ans[500100][2];
int ansarr[710][710];
int main() {
int tcn;
scanf("%d", &tcn);
while (tcn--) {
scanf("%d%d", &n, &m);
if (m > n * n || m < n || (n % 2 == 1 && m > n * n - n + 1)) {
printf("No\n");
continue;
}
printf("Yes\n");
int curm = m - n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
ans[i * n + j][0] = j;
ans[i * n + j][1] = (j + n - i) % n;
}
}
for (int i = 0; i < n; i += 2) {
if (curm <= 0)break;
if (curm >= (n - 1) * 2) {
for (int j = 0; j < n; j++) {
ans[i * n + j * 2][0] = j;
ans[i * n + j * 2][1] = (j + n - i) % n;
ans[i * n + j * 2 + 1][0] = (j + 1) % n;
ans[i * n + j * 2 + 1][1] = (j + n - i) % n;
}
curm -= (n - 1) * 2;
continue;
}
for (int j = 0; j < n - 1; j++) {
if (curm == 0)break;
curm -= 2;
int curloc = (i + 1) * n + j + 1;
int destloc = i * n + j * 2 + 1;
for (int k = curloc - 1; k >= destloc; k--) {
int t = ans[k][0];
ans[k][0] = ans[k + 1][0];
ans[k + 1][0] = t;
t = ans[k][1];
ans[k][1] = ans[k + 1][1];
ans[k + 1][1] = t;
}
if (curm < 0) {
curm = 0;
curloc = (i + 1) * n + j + 2;
if (j == n - 2)curloc--;
destloc = i * n + j * 2 + 2;
for (int k = curloc - 1; k >= destloc; k--) {
int t = ans[k][0];
ans[k][0] = ans[k + 1][0];
ans[k + 1][0] = t;
t = ans[k][1];
ans[k][1] = ans[k + 1][1];
ans[k + 1][1] = t;
}
}
}
}
for (int i = 0; i < n * n; i++) {
ansarr[ans[i][0]][ans[i][1]] = i + 1;
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", ansarr[i][j]);
}
printf("\n");
}
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - Long Increasing Walk |
| User | gs12117 |
| Language | C++23 (GCC 15.2.0) |
| Score | 900 |
| Code Size | 1811 Byte |
| Status | AC |
| Exec Time | 23 ms |
| Memory | 9624 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 900 / 900 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt |
| All | 00_sample_00.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt, 01_test_44.txt, 01_test_45.txt, 01_test_46.txt, 01_test_47.txt, 01_test_48.txt, 01_test_49.txt, 01_test_50.txt, 01_test_51.txt, 01_test_52.txt, 01_test_53.txt, 01_test_54.txt, 01_test_55.txt, 01_test_56.txt, 01_test_57.txt, 01_test_58.txt, 01_test_59.txt, 01_test_60.txt, 01_test_61.txt, 01_test_62.txt, 01_test_63.txt, 01_test_64.txt, 01_test_65.txt, 01_test_66.txt, 01_test_67.txt, 01_test_68.txt, 01_test_69.txt, 01_test_70.txt, 01_test_71.txt, 01_test_72.txt, 01_test_73.txt, 01_test_74.txt, 01_test_75.txt, 01_test_76.txt, 01_test_77.txt, 01_test_78.txt, 01_test_79.txt, 01_test_80.txt, 01_test_81.txt, 01_test_82.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 0 ms | 1496 KiB |
| 01_test_00.txt | AC | 18 ms | 2036 KiB |
| 01_test_01.txt | AC | 18 ms | 2272 KiB |
| 01_test_02.txt | AC | 18 ms | 2300 KiB |
| 01_test_03.txt | AC | 19 ms | 2272 KiB |
| 01_test_04.txt | AC | 19 ms | 2372 KiB |
| 01_test_05.txt | AC | 19 ms | 2612 KiB |
| 01_test_06.txt | AC | 20 ms | 2648 KiB |
| 01_test_07.txt | AC | 20 ms | 2836 KiB |
| 01_test_08.txt | AC | 20 ms | 2980 KiB |
| 01_test_09.txt | AC | 21 ms | 3724 KiB |
| 01_test_10.txt | AC | 18 ms | 3840 KiB |
| 01_test_11.txt | AC | 22 ms | 7032 KiB |
| 01_test_12.txt | AC | 21 ms | 7096 KiB |
| 01_test_13.txt | AC | 22 ms | 7036 KiB |
| 01_test_14.txt | AC | 22 ms | 6876 KiB |
| 01_test_15.txt | AC | 21 ms | 7000 KiB |
| 01_test_16.txt | AC | 21 ms | 6864 KiB |
| 01_test_17.txt | AC | 22 ms | 6932 KiB |
| 01_test_18.txt | AC | 22 ms | 6884 KiB |
| 01_test_19.txt | AC | 21 ms | 6988 KiB |
| 01_test_20.txt | AC | 22 ms | 6936 KiB |
| 01_test_21.txt | AC | 1 ms | 1940 KiB |
| 01_test_22.txt | AC | 1 ms | 1880 KiB |
| 01_test_23.txt | AC | 21 ms | 9400 KiB |
| 01_test_24.txt | AC | 23 ms | 9572 KiB |
| 01_test_25.txt | AC | 22 ms | 9564 KiB |
| 01_test_26.txt | AC | 23 ms | 9584 KiB |
| 01_test_27.txt | AC | 22 ms | 9540 KiB |
| 01_test_28.txt | AC | 23 ms | 9396 KiB |
| 01_test_29.txt | AC | 22 ms | 9540 KiB |
| 01_test_30.txt | AC | 23 ms | 9612 KiB |
| 01_test_31.txt | AC | 22 ms | 9484 KiB |
| 01_test_32.txt | AC | 22 ms | 9608 KiB |
| 01_test_33.txt | AC | 22 ms | 9624 KiB |
| 01_test_34.txt | AC | 22 ms | 9408 KiB |
| 01_test_35.txt | AC | 22 ms | 9612 KiB |
| 01_test_36.txt | AC | 22 ms | 9492 KiB |
| 01_test_37.txt | AC | 22 ms | 9512 KiB |
| 01_test_38.txt | AC | 22 ms | 9468 KiB |
| 01_test_39.txt | AC | 22 ms | 9444 KiB |
| 01_test_40.txt | AC | 22 ms | 9424 KiB |
| 01_test_41.txt | AC | 22 ms | 9572 KiB |
| 01_test_42.txt | AC | 22 ms | 9424 KiB |
| 01_test_43.txt | AC | 22 ms | 9576 KiB |
| 01_test_44.txt | AC | 22 ms | 9468 KiB |
| 01_test_45.txt | AC | 22 ms | 9548 KiB |
| 01_test_46.txt | AC | 23 ms | 9432 KiB |
| 01_test_47.txt | AC | 22 ms | 9564 KiB |
| 01_test_48.txt | AC | 23 ms | 9580 KiB |
| 01_test_49.txt | AC | 23 ms | 9584 KiB |
| 01_test_50.txt | AC | 22 ms | 9568 KiB |
| 01_test_51.txt | AC | 1 ms | 1888 KiB |
| 01_test_52.txt | AC | 1 ms | 2092 KiB |
| 01_test_53.txt | AC | 22 ms | 9540 KiB |
| 01_test_54.txt | AC | 23 ms | 9472 KiB |
| 01_test_55.txt | AC | 1 ms | 2044 KiB |
| 01_test_56.txt | AC | 1 ms | 2000 KiB |
| 01_test_57.txt | AC | 22 ms | 9420 KiB |
| 01_test_58.txt | AC | 23 ms | 9412 KiB |
| 01_test_59.txt | AC | 22 ms | 9564 KiB |
| 01_test_60.txt | AC | 22 ms | 9436 KiB |
| 01_test_61.txt | AC | 22 ms | 9568 KiB |
| 01_test_62.txt | AC | 22 ms | 9488 KiB |
| 01_test_63.txt | AC | 22 ms | 9556 KiB |
| 01_test_64.txt | AC | 22 ms | 9588 KiB |
| 01_test_65.txt | AC | 22 ms | 9540 KiB |
| 01_test_66.txt | AC | 22 ms | 9504 KiB |
| 01_test_67.txt | AC | 22 ms | 9576 KiB |
| 01_test_68.txt | AC | 22 ms | 9432 KiB |
| 01_test_69.txt | AC | 22 ms | 9472 KiB |
| 01_test_70.txt | AC | 22 ms | 9592 KiB |
| 01_test_71.txt | AC | 22 ms | 9592 KiB |
| 01_test_72.txt | AC | 22 ms | 9468 KiB |
| 01_test_73.txt | AC | 22 ms | 9448 KiB |
| 01_test_74.txt | AC | 22 ms | 9396 KiB |
| 01_test_75.txt | AC | 22 ms | 9444 KiB |
| 01_test_76.txt | AC | 22 ms | 9536 KiB |
| 01_test_77.txt | AC | 22 ms | 9560 KiB |
| 01_test_78.txt | AC | 22 ms | 9520 KiB |
| 01_test_79.txt | AC | 22 ms | 9444 KiB |
| 01_test_80.txt | AC | 22 ms | 9556 KiB |
| 01_test_81.txt | AC | 22 ms | 9368 KiB |
| 01_test_82.txt | AC | 22 ms | 9412 KiB |