
利用二维差分对范围内的数字+1,最后统计有多少个奇数多少个偶数。只通过了当前的测试用例,没有测其他的,多指教……
import java.util.Scanner;
public class 奇偶覆盖 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] b = new int[20481][20481];
int maxx = 0;
int maxy = 0;
while (n-- > 0) {
int x1 = sc.nextInt();
int y1 = sc.nextInt();
int x2 = sc.nextInt();
int y2 = sc.nextInt();
maxx = Math.max(maxx, Math.max(x1, x2));
maxy = Math.max(maxy, Math.max(y1, y2));
x2--;y2--;
b[x1][y1] += 1;
b[x1][y2 + 1] -= 1;
b[x2 + 1][y1] -= 1;
b[x2 + 1][y2 + 1] += 1;
}
int ou = 0;
int ji = 0;
for(int i = 1;i <= maxx;i++) {
for(int j = 1;j <= maxy;j++) {
b[i][j] = b[i - 1][j] + b[i][j - 1] - b[i - 1][j - 1] + b[i][j];
System.out.print(b[i][j]+ " ");
if(b[i][j] != 0) {
if(b[i][j] % 2 == 0)
ou++;
else
ji++;
}
}
System.out.println();
}
System.out.println(ou);
System.out.println(ji);
}
}