1 条题解

  • 0
    @ 2025-10-10 19:47:17

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    
    const int N = 1010;
    int n,m,q;
    //s:前缀和 
    int a[N][N],s[N][N]; 
    
    int main(){
    	cin>>n>>m>>q;
    	for(int i = 1;i <= n;i++){
    		for(int j = 1;j <= m;j++){
    			cin>>a[i][j];
    			//计算前缀和 
    			s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1] + a[i][j]; 
    		}
    	}
    	
    	//q次询问
    	int x1,y1,x2,y2;
    	for(int i = 1;i <= q;i++){
    		cin>>x1>>y1>>x2>>y2;
    		//容斥原理 
    		cout<<s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]+s[x1-1][y1-1]<<endl;
    	} 
    	
    	
        return 0;
    }
    
    
    
    • 1

    信息

    ID
    979
    时间
    1000ms
    内存
    512MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者