ALGO 王国表现为一个H×W的网格。起初,每个网格均无积雪。但在接下来的N天中,雪将不断降临。定义从上数起第i行,从左数起第j列的网格为(i,j)。
在第i天:从左上角坐标为(At,Bt)开始,到右下角坐标为(Ct, Dt)的长方形区域,积雪将增加1厘米。
请编写一个程序,输出每个网格在最后的积雪量。
输入格式:
根据每个网格(i,j)最后的积雪量Zi,j,输出应采用以下格式:
限制条件:
- H,W范围在1-1500之间
- N范围在1-100000之间
- At范围在1-H之间
- Bt范围在1-W之间
- Ct范围在1-H之间
- Dt范围在1-W之间
- 所有输入均为整数
输入的测试用例:
输出的测试用例:
Scanner sc=new Scanner(System.in); int H,W,N; H=sc.nextInt(); W=sc.nextInt(); N=sc.nextInt(); int arr[][]=new int[1509][1509]; int brr[][]=new int[1509][1509]; int A[]=new int[1509]; int B[]=new int[1509]; int C[]=new int[1509]; int D[]=new int[1509]; for (int i = 1; i <= N; i++) { A[i]=sc.nextInt(); B[i]=sc.nextInt(); C[i]=sc.nextInt(); D[i]=sc.nextInt(); } for (int i = 1; i <= N; i++) { arr[A[i]][B[i]]+=1; arr[C[i]+1][D[i]+1]+=1; arr[A[i]][D[i]+1]-=1; arr[C[i]+1][B[i]]-=1; } for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { brr[i][j]=arr[i][j]+brr[i][j-1]; } } for (int j = 1; j <= W; j++) { for (int i = 1; i <= H; i++) { brr[i][j]+=brr[i-1][j]; } } for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { System.out.print(brr[i][j]); } System.out.println(); }