| 1 | if (c2 >= d2 + 1) { |
| 2 | for (int c0 = a1; c0 <= b1; c0 += 1) |
| 3 | for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1) |
| 4 | s0(c0, c1_0); |
| 5 | } else { |
| 6 | for (int c0 = a1; c0 <= min(b1, a2 - 1); c0 += 1) |
| 7 | for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1) |
| 8 | s0(c0, c1_0); |
| 9 | for (int c0 = a2; c0 <= b2; c0 += 1) { |
| 10 | if (a1 >= c0 + 1) { |
| 11 | for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1) |
| 12 | s1(c0, c1_0); |
| 13 | } else if (c0 >= b1 + 1) { |
| 14 | for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1) |
| 15 | s1(c0, c1_0); |
| 16 | } else { |
| 17 | for (int c1_0 = c2; c1_0 <= min(c1 - 1, d2); c1_0 += 1) |
| 18 | s1(c0, c1_0); |
| 19 | for (int c1_0 = c1; c1_0 <= min(d1, c2 - 1); c1_0 += 1) |
| 20 | s0(c0, c1_0); |
| 21 | for (int c1_0 = max(c1, c2); c1_0 <= min(d1, d2); c1_0 += 1) { |
| 22 | s0(c0, c1_0); |
| 23 | s1(c0, c1_0); |
| 24 | } |
| 25 | for (int c1_0 = max(max(c1, d1 + 1), c2); c1_0 <= d2; c1_0 += 1) |
| 26 | s1(c0, c1_0); |
| 27 | for (int c1_0 = max(c1, d2 + 1); c1_0 <= d1; c1_0 += 1) |
| 28 | s0(c0, c1_0); |
| 29 | } |
| 30 | } |
| 31 | for (int c0 = max(max(a1, a2), b2 + 1); c0 <= b1; c0 += 1) |
| 32 | for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1) |
| 33 | s0(c0, c1_0); |
| 34 | } |
| 35 | |