File: reservoir-liu-zhuge1.c

package info (click to toggle)
llvm-toolchain-11 1%3A11.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 995,808 kB
  • sloc: cpp: 4,767,656; ansic: 760,916; asm: 477,436; python: 170,940; objc: 69,804; lisp: 29,914; sh: 23,855; f90: 18,173; pascal: 7,551; perl: 7,471; ml: 5,603; awk: 3,489; makefile: 2,573; xml: 915; cs: 573; fortran: 503; javascript: 452
file content (19 lines) | stat: -rw-r--r-- 638 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (M >= 0 && N >= 0)
  for (int c0 = -4; c0 <= 3 * M + N; c0 += 1) {
    if (c0 >= 3 * M) {
      S2(M, -3 * M + c0);
    } else if (3 * M >= c0 + 4 && (c0 + 1) % 3 == 0) {
      S1((c0 + 4) / 3, 0);
    }
    for (int c1 = max(-3 * M + c0 + 3, (c0 + 6) % 3); c1 <= min(N - 1, c0); c1 += 3) {
      S2((c0 - c1) / 3, c1);
      S1(((c0 - c1) / 3) + 1, c1 + 1);
    }
    if (3 * M + N >= c0 + 3 && c0 >= N && (N - c0) % 3 == 0) {
      S2((-N + c0) / 3, N);
    } else if (N >= c0 + 4 && c0 >= -3) {
      S1(0, c0 + 4);
    }
    for (int c1 = max(-3 * M + c0, (c0 + 6) % 3); c1 <= min(N, c0); c1 += 3)
      S3((c0 - c1) / 3, c1);
  }