社区讨论
40WA求条
P11228[CSP-J 2024] 地图探险参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @m334bli0
- 此快照首次捕获于
- 2024/11/04 22:30 去年
- 此快照最后确认于
- 2025/11/04 15:19 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m,k;
bool dt[105][105];//地图
bool vis[105][105];//是否被访问
int t;
int yd1[5]={0,1,0,-1};
int yd2[5]={1,0,-1,0};
int d,xx,yy;//朝向及方位
char furina;//点阵状态
int fufufu;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
freopen("explore.in","r",stdin);
freopen("explore.out","w",stdout);
cin>>t;
for(int fufu=1;fufu<=t;fufu++)
{
cin>>n>>m>>k;
cin>>xx>>yy>>d;
int ans=1;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
vis[i][j]=0;
cin>>furina;
if(furina=='x')fufufu=1;//不可通过
if(furina=='.')fufufu=0;
dt[i][j]=fufufu;
}
}
for(int i=1;i<=k;i++)
{
int x_nextt=xx+yd1[d];
int y_nextt=yy+yd2[d];
if(x_nextt<=n && x_nextt>=1 && 1<=y_nextt && y_nextt<=m && dt[x_nextt][y_nextt]==0)
{
xx=x_nextt;
yy=y_nextt;
if(vis[xx][yy]==0)
{
ans++;
vis[xx][yy]=1;
}
}
else
{
d=(d+1)%4;
}
}
cout<<ans<<"\n";
}
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...