二维前缀和

alt alt

#include <iostream>
using namespace std;
int n,m,q;
const int N = 1010;
int sum[N][N];
int main(){
    cin >> n >> m >> q;
    for(int i = 1;i <= n;i++){
        for(int j = 1;j <= m;j++){
        	int t;
        	cin >> t;
        	sum[i][j] = t + sum[i][j-1]+sum[i-1][j] - sum[i-1][j-1];
		}
    }
    while(q--){
    	int x1,y1,x2,y2;
    	cin >> x1 >> y1 >> x2 >> y2;
    	printf("%d\n",sum[x2][y2] - sum[x2][y1-1]-sum[x1-1][y2]+sum[x1-1][y1-1]);
	}
}
全部评论

相关推荐

04-29 22:35
门头沟学院 Java
牛友说改了名字能收到offer:旧图新发查看图片
点赞 评论 收藏
分享
03-31 16:42
已编辑
郑州西亚斯学院 后端
Java抽象带篮子:你简历少了几个模块看上去就感觉信息很少,简历怎么写可以看看我发的帖子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务