23 lines · c
1S1();2S2();3for (int c0 = 0; c0 < N; c0 += 1)4 for (int c1 = 0; c1 < N; c1 += 1) {5 S4(c0, c1);6 S5(c0, c1);7 }8for (int c0 = 0; c0 < N; c0 += 1)9 for (int c1 = 0; c1 < N; c1 += 1)10 for (int c2 = 0; c2 <= (N - 1) / 32; c2 += 1) {11 S7(c0, c1, c2, 32 * c2);12 for (int c3 = 32 * c2 + 1; c3 <= min(N - 1, 32 * c2 + 31); c3 += 1) {13 S6(c0, c1, c2, c3 - 1);14 S7(c0, c1, c2, c3);15 }16 if (32 * c2 + 31 >= N) {17 S6(c0, c1, c2, N - 1);18 } else {19 S6(c0, c1, c2, 32 * c2 + 31);20 }21 }22S8();23