社区讨论
40pts求调
P11228[CSP-J 2024] 地图探险参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @m2rl4z2a
- 此快照首次捕获于
- 2024/10/27 20:47 去年
- 此快照最后确认于
- 2025/11/04 15:51 4 个月前
连样例都过不了qwq
CPP#include<bits/stdc++.h>
using namespace std;
int T;
char a[1010][1010];
bool vis[1010][1010];
int n,m,k,x,y,d;
int main(){
cin>>T;
while(T--){
cin>>n>>m>>k;
cin>>x>>y>>d;
int ans=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
vis[i][j]=0;
}
}
for(int i=1;i<=k;i++){
//cout<<"("<<d<<","<<x<<","<<y<<","<<i<<","<<ans<<")"<<"->";
//cout<<"("<<x<<","<<y<<") ";
if(d==0 && a[x][y+1]=='.' && !vis[x][y+1]){
y+=1;
ans+=1;
//cout<<"Move:";
continue;
}else if(d==1 && a[x+1][y]=='.' && !vis[x+1][y]){
x+=1;
ans+=1;
//cout<<"Move:";
continue;
}else if(d==2 && a[x][y-1]=='.' && !vis[x][y-1]){
y-=1;
ans+=1;
//cout<<"Move:";
continue;
}else if(d==3 && a[x-1][y]=='.' && !vis[x-1][y]){
x-=1;
ans+=1;
//cout<<"Move:";
continue;
}else{
d=(d+1)%4;
continue;
}
//if(i==k) ans++;
}
cout<<ans<<endl;
}
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...