水星湖 @ 2023-08-29 11:08:17
#include<bits/stdc++.h>
using namespace std;
int n,m,x1,len1,x2,y2,len2;
int y1;
int v[805][805];
bool f[805][805];//是否算过
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>v[i][j];
int q;
cin>>q;
while(q--)
{
cin>>x1>>y1>>len1>>x2>>y2>>len2;
memset(f,0,sizeof(f));
long long sum=0;
for(int i=x1;i<=x1+len1-1;i++)
for(int j=y1;j<=y1+len1-1;j++)
{
f[i][j]++;
sum += v[i][j];
// cout<<sum<<endl;
}
for(int i=x2;i<=x2+len2-1;i++)
for(int j=y2;j<=y2+len2-1;j++)
{
if(!f[i][j])
sum += v[i][j];
}
cout<<sum<<endl;
}
return 0;
}
上面是编译过不了的代码
#include<bits/stdc++.h>
using namespace std;
int n,m,x1,len1,x2,y2,len2;
// int y1;
int v[805][805];
bool f[805][805];//是否算过
int main()
{
int y1;
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>v[i][j];
int q;
cin>>q;
while(q--)
{
cin>>x1>>y1>>len1>>x2>>y2>>len2;
memset(f,0,sizeof(f));
long long sum=0;
for(int i=x1;i<=x1+len1-1;i++)
for(int j=y1;j<=y1+len1-1;j++)
{
f[i][j]++;
sum += v[i][j];
// cout<<sum<<endl;
}
for(int i=x2;i<=x2+len2-1;i++)
for(int j=y2;j<=y2+len2-1;j++)
{
if(!f[i][j])
sum += v[i][j];
}
cout<<sum<<endl;
}
return 0;
}
把y1放到主函数里就能编译过了
by Disinfect @ 2023-08-29 11:12:34
@zrczrczrczrc y1是一个系统的变量
by int_4096 @ 2023-08-29 11:12:39
@zrczrczrczrc y1是一个在cmath库的函数, 所以要么不打万能头,要么就别用y1当变量名。
by TryHardToBeAlive @ 2023-08-29 11:14:26
@zrczrczrczrc y1之类的在cmath里面有定义
参考
by 水星湖 @ 2023-08-29 11:18:15
@youzhanyue @int_4096 谢谢
by kk1501201 @ 2023-08-29 11:18:54
万能头不能用y1,望周知(