0
点赞
收藏
分享

微信扫一扫

AcWing 796. 子矩阵的和(java)

岛上码农 2022-04-07 阅读 47

继续感谢徐老师和y老师❤️

二维数组的前缀和

import java.util.*;

 public class Main{
     
     public static void main(String[] args){
         Scanner scan = new Scanner(System.in);
         int n = scan.nextInt();
         int m = scan.nextInt();
         int q = scan.nextInt();
         
         int[][] arr = new int[n + 1][m + 1];
         for(int i = 1; i <= n; i++){
            for(int j = 1; j <= m; j++){
                arr[i][j] = scan.nextInt();
             }
         }
         
         int[][] s = new int[n + 1][m + 1];
         for(int i = 1; i <= n; i++){
             for(int j = 1; j <= m; j++){
                 s[i][j] = s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1] + arr[i][j];
             }
         }
         
         while(q -- > 0){
            int x1 = scan.nextInt();
            int y1 = scan.nextInt();
            int x2 = scan.nextInt();
            int y2 = scan.nextInt();
            
            System.out.println(s[x2][y2] - s[x1 - 1][y2] - s[x2][y1 - 1] + s[x1 - 1][y1 - 1]);
         }
         
     }
     
 }
举报

相关推荐

0 条评论