gaikun @ 2024-11-05 18:26:08
#include<bits/stdc++.h>
using namespace std;
int t,m,n,k,i,j,o,x,y,d,x2,y2,d2,result=0;
char temp;
bool mapp[1010][1010];
bool anss[1010][1010];
int main(){
freopen("explore.in","r",stdin);
freopen("explore.out","w",stdout);
cin>>t;
for(o=1;o<=t;o++){
result=0;
for(i=0;i<=1010;i++){
for(j=0;j<=1010;j++){
mapp[i][j]=0;
anss[i][j]=0;
}
}
cin>>n>>m>>k>>x>>y>>d;
anss[x][y]=1;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
cin>>temp;
if(temp=='.') mapp[i][j]=0;
else mapp[i][j]=1;
}
}
for(i=1;i<=k;i++){
if(d==0){
x2=x;
y2=y+1;
}
else if(d==1){
x2=x+1;
y2=y;
}
else if(d==2){
x2=x;
y2=y-1;
}
else{
x2=x-1;
y2=y;
}
if(mapp[x2][y2]==0 && x2>=1 && x2<=n && y2>=1 && y2<=m){
x=x2;
y=y2;
anss[x][y]=1;
}else{
d=(d+1)%4;
}
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(anss[i][j]==1){
result++;
}
cout<<result<<endl;
}
return 0;
}
by glass_goldfish @ 2024-11-05 18:36:20
@gaikun 是0啊?
by buowen123 @ 2024-11-05 19:19:45
因为你加了 freopen。
如果 freopen 所指定的输入文件不存在,程序会有概率发病 return 3,也可能活下来。
by gaikun @ 2024-11-07 12:55:43
蒟蒻找到问题了,mapp和anss数组访问越界了 少了100分 (;д;)