社区讨论
50分WA求调
P11228[CSP-J 2024] 地图探险参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhizemmc
- 此快照首次捕获于
- 2025/11/03 18:12 4 个月前
- 此快照最后确认于
- 2025/11/03 18:12 4 个月前
CPP
//李老师保佑我AC
#include<bits/stdc++.h>
#define int long long
using namespace std;
int vis[1005][1005];
int s[1005][1005];
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int t;
cin>>t;
while(t--)
{
int n,m,k;
cin>>n>>m>>k;
int x,y,d;
cin>>x>>y>>d;
int ans=1;
for(int i=1;i<=n;i++)
{
string c;
cin>>c;
c=" "+c;
for(int j=1;j<=m;j++)
{
if(c[j]=='.')
{
s[i][j]=1;
}
else s[i][j]=2;
vis[i][j]=0;
}
}
for(int i=1;i<=k;i++)
{
if(d==0)
{
if(s[x][y+1]==2||y+1>m)
{
d=(d+1)%4;
continue;
}
else
{
vis[x][y+1]=1;
y++;
}
}
if(d==1)
{
if(s[x+1][y]==2||x+1>n)
{
d=(d+1)%4;
continue;
}
else
{
vis[x+1][y]=1;
x++;
}
}
if(d==2)
{
if(s[x][y-1]==2||y-1<1)
{
d=(d+1)%4;
continue;
}
else
{
vis[x][y-1]=1;
y--;
}
}
if(d==3)
{
if(s[x-1][y]==2||x-1<1)
{
d=(d+1)%4;
continue;
}
else
{
vis[x-1][y]=1;
x--;
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
ans+=vis[i][j];
}
}
cout<<ans<<endl;
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...