这个题目是不是卡语言的,C++直接暴力都能过,而Java二维差分都挂了
  • 板块P3397 地毯
  • 楼主19moyudaren
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/3/9 16:34
  • 上次更新2023/10/28 06:58:54
查看原帖
这个题目是不是卡语言的,C++直接暴力都能过,而Java二维差分都挂了
441248
19moyudaren楼主2022/3/9 16:34
public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int n=in.nextInt(),m=in.nextInt();
		int[][] tmp=new int[n+2][n+2];
		
		for (int i = 1; i <= m; i++) {
			int beginX=in.nextInt(),beginY=in.nextInt(),endX=in.nextInt(),endY=in.nextInt();
			tmp[beginX][beginY]++;
			tmp[endX+1][beginY]--;
			tmp[beginX][endY+1]--;
			tmp[endX+1][endY+1]++;
			
		}
		
		in.close();
		
		for (int i = 1; i <= n; i++) {
			for (int j=1; j <=n; j++) {
				tmp[i][j]+=tmp[i-1][j]+tmp[i][j-1]-tmp[i-1][j-1];
				if(j==n) {
					System.out.println(tmp[i][j]);
				}else {
					System.out.print(tmp[i][j]+" ");
				}
					
			}
		}
	}
2022/3/9 16:34
加载中...