社区讨论

60分WA!求调!

P11228[CSP-J 2024] 地图探险参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m4o8m107
此快照首次捕获于
2024/12/14 21:53
去年
此快照最后确认于
2025/11/04 12:50
4 个月前
查看原帖
代码
CPP
#include <bits/stdc++.h>
using namespace std;
bool vis[1001][1001];
int t,turn1[4]={0,1,0,-1},turn2[4]={1,0,-1,0},x[7],y[7],d[7],n,m,k;//0 right,1 under,2 left,3 on
int main(){
	cin>>t;
    for (int l=1;l<=t;l++){
    	int ans=1;
        memset (vis,0,sizeof vis);
        char a[1001][1001];
    	cin>>n>>m>>k>>x[l]>>y[l]>>d[l];
        for (int i=1;i<=n;i++){
        	for (int j=1;j<=m;j++){
            	cin>>a[i][j];
            }
        }
        vis[x[l]][y[l]]=1;
        while (k>0){
        	int xx=x[l]+turn1[d[l]],yy=y[l]+turn2[d[l]];
        	if (a[xx][yy]=='.'){
            	if (!vis[xx][yy])
                	ans++;vis[xx][yy]=1;
                x[l]=xx;y[l]=yy;    
            }else{
            	d[l]=(d[l]+1)%4;
            }
            k--;
        }
        cout<<ans<<endl;
    }
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...