| 1 | S1(0, 0); |
| 2 | for (int c0 = 1; c0 <= N; c0 += 1) { |
| 3 | S2(c0, 0); |
| 4 | for (int c1 = 1; c1 < c0; c1 += 1) |
| 5 | S6(c0, c1); |
| 6 | S3(c0, c0); |
| 7 | } |
| 8 | S7(N + 1, 0); |
| 9 | for (int c1 = 1; c1 <= N; c1 += 1) { |
| 10 | S6(N + 1, c1); |
| 11 | S8(N + 1, c1); |
| 12 | } |
| 13 | for (int c0 = N + 2; c0 < 2 * M - N - 1; c0 += 1) { |
| 14 | S7(c0, -N + (N + c0 + 1) / 2 - 1); |
| 15 | if ((N + c0) % 2 == 0) { |
| 16 | S5(c0, (-N + c0) / 2); |
| 17 | S8(c0, (-N + c0) / 2); |
| 18 | } |
| 19 | for (int c1 = -N + (N + c0) / 2 + 1; c1 < (N + c0 + 1) / 2; c1 += 1) { |
| 20 | S6(c0, c1); |
| 21 | S8(c0, c1); |
| 22 | } |
| 23 | if ((N + c0) % 2 == 0) { |
| 24 | S4(c0, (N + c0) / 2); |
| 25 | S8(c0, (N + c0) / 2); |
| 26 | } |
| 27 | } |
| 28 | for (int c0 = 2 * M - N - 1; c0 < 2 * M - 1; c0 += 1) |
| 29 | for (int c1 = -M + c0 + 1; c1 < M; c1 += 1) |
| 30 | S6(c0, c1); |
| 31 | |