SSdWJJ @ 2024-11-04 21:39:42
C++不能用y0作为变量名,否则会CE
贴主就是这样爆零的
by SSdWJJ @ 2024-11-04 21:40:35
j0 j1 jn y0 y1 都不可以!
by Ayyo_Listen_Up @ 2024-11-04 21:42:55
我用y0了但没事(可能跟我头文件有关?)
by linnaeuss @ 2024-11-04 21:47:32
@hhhc_ark 局部变量y0没事
by SSdWJJ @ 2024-11-04 21:47:56
@hhhc_ark 我直接用的万能头
教练说能用万能头尽量用,有些头文件windows有但是linux没有
by Ayyo_Listen_Up @ 2024-11-04 21:51:24
@linnaeuss 原来如此
by Ayyo_Listen_Up @ 2024-11-04 21:51:54
@SSdWJJ 我用了iostream和string
by luyufan @ 2024-11-04 21:54:19
x1
by SSdWJJ @ 2024-11-04 21:56:09
我的源代码:
#include<bits/stdc++.h>
using namespace std;
const int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
int T,n,m,k,x0,y0,d0,nowx,nowy,nowd,ans;
char mp[1010][1010];
bool vis[1010][1010];
int main(){
freopen("explore.in","r",stdin);
freopen("explore.out","w",stdout);
cin>>T;
while(T--){
cin>>n>>m>>k;
cin>>x0>>y0>>d0;
ans=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
cin>>mp[i][j];
vis[i][j]=0;
}
nowx=x0,nowy=y0,nowd=d0;
while(k--){
if(vis[nowx][nowy]==0) vis[nowx][nowy]=1,ans++;
int nx=nowx+dx[nowd],ny=nowy+dy[nowd];
if(nx<1||nx>n||ny<1||ny>m||mp[nx][ny]=='x') nowd=(nowd+1)%4;
else nowx=nx,nowy=ny;
}
if(vis[nowx][nowy]==0) vis[nowx][nowy]=1,ans++;
cout<<ans<<endl;
}
return 0;
}
可惜的是我用的全局变量
by Azure_Space @ 2024-11-04 22:04:37
@SSdWJJ 你是因为x0爆零的吧
by SSdWJJ @ 2024-11-04 22:05:10
@Azure_Space 编译出来是因为y0爆的