SCYscy2580 @ 2023-07-17 19:23:38
#include<bits/stdc++.h>
using namespace std;
int x[1000][1000];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int a,b,c,d;
cin>>a>>b>>c>>d;
for(int p=a;p<=min(n,c);p++)
for(int q=b;q<=min(n,d);q++)
x[p][q]++;
}
for(int p=1;p<=n;p++)
{
for(int q=1;q<=n;q++)
cout<<x[p][q]<<" ";
cout<<endl;
}
return 0;
}
有没有大佬看看TwT
by FengYuXinMing @ 2023-07-17 19:28:35
@SCYscy2580 RE可能是数组越界,你数组只开了1000啊
by SCYscy2580 @ 2023-07-17 19:31:03
有道理...
by FengYuXinMing @ 2023-07-17 19:34:08
@SCYscy2580 而且如果你for循环是i=0开始的,那就没问题了,但是你是1开始的!也就是说,最高下标会到1001,然后数组就越界了,就RE了,正好这道题我没A,谢谢你的代码啦(bushi)
狗才抄题解
by FengYuXinMing @ 2023-07-17 19:40:53
@ababbjxzt 哦不对,不是下标回到1001,是数组如果开了1000,从1开始访问,相当于第一个位置,也就是x[0][0],x[1][0],x[0][1],不要了,但是最高数据是1000,而你舍去了一点,就会导致,到那个地方的时候,发现数组没有可访问的了,就报错了。RE全名是R(运行的意思) Error所以一般遇见RE,先看看数组,再看看有没有变量和库函数重名,其他的我就不知道了,我也是个蒟蒻
by FengYuXinMing @ 2023-07-17 19:41:47
@SCYscy2580 话说你们暑假集训前缀和与差分的比赛还可以发帖求助啊?
by SCYscy2580 @ 2023-07-17 19:47:53
。。。
by SCYscy2580 @ 2023-07-17 19:50:08
已过,感谢
(看来是个比我这个蒟蒻强的蒟蒻之神)
by inksanss @ 2023-08-14 15:57:45
@SCYscy2580 基本无误,int 需改long long,
一般来说都是用define int long long 的,
如果你用的话把int main()改成signed,
还有把min去了,这跟时间复杂度没问题,
高精度就不教了(其实也没多大改变),
(刚入洛谷所以是蓝名,以我的能力.....是不是应该是澄名?)