暴力总是比其他方法更简单的
2026-04-12 09:54:32
发布于:江西
27阅读
0回复
0点赞
这不能怪我不用二维前缀和,要怪就怪:童编 钟老师https://www.acgo.cn/person/5065789
思路很简单,题目给出了要相加的范围是(a,b)~(x,y),
所以可以理解为将满足条件横坐标在ax范围内,纵坐标在by范围内的所有数相加,
按以上思路,我的代码还可以简化哦!

#include<bits/stdc++.h>
using namespace std;
int mp[1010][1010];
int main()
{
int n,m,q;
cin>>n>>m>>q;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>mp[i][j];
}
}
while(q--){
int a,b,x,y,cnt=0;
cin>>a>>b>>x>>y;
for(int i=a;i<=x;i++){
for(int j=b;j<=y;j++){
cnt+=mp[i][j];
}
}
cout<<cnt<<endl;
}
return 0;
}
全部评论 3
请点赞亲
2026-04-18 来自 江西
1雪梨不要搞我!!!
2026-04-12 来自 江西
1我怕被老师给🔪🩸
2026-04-12 来自 江西
0
我觉得很赞👍
2026-04-12 来自 江西
1





有帮助,赞一个