11 lines · c
1for (int c0 = 1; c0 < 2 * M - 1; c0 += 1) {2 for (int c1 = max(-M + 1, -c0 + 1); c1 < 0; c1 += 1) {3 for (int c3 = max(1, -M + c0 + 1); c3 <= min(M - 1, c0 + c1); c3 += 1)4 S1(c3, c0 + c1 - c3, -c1);5 for (int c2 = max(-M + c0 + 1, -c1); c2 < min(M, c0); c2 += 1)6 S2(c0 - c2, c1 + c2, c2);7 }8 for (int c3 = max(1, -M + c0 + 1); c3 <= min(M - 1, c0); c3 += 1)9 S1(c3, c0 - c3, 0);10}11