求调
查看原帖
求调
799029
yyh0923楼主2024/10/26 17:38
#include<bits/stdc++.h>
using namespace std;
int n,m,k;
char a[1010][1010];
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
int main(){
//	
//	freopen("explore3.in","r",stdin);
//	freopen("explore3.out","w",stdout);
	int T;
	cin>>T;
	while(T--){
		int qx,qy,qd;
		cin>>n>>m>>k;
		cin>>qx>>qy>>qd;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				scanf(" %c",&a[i][j]);
			} 
		} 
		int ans=1;
		bool b[1010][1010]={0};
		int d=qd;
		b[qx][qy]=1;
		while(k--){
			int x=dx[d];
			int y=dy[d];
			if(a[qx+x][qy+y]=='.'){
				qx=qx+x;
				qy=qy+y;
				if(b[qx][qy]==0)ans++;
				b[qx][qy]=1;
			}else if(a[qx+x][qy+y]=='x'||qx+x<=0||qy+y<=0||qx+x>n||qy+y>m){
				d=(d+1)%4;
			}
		}
		cout<<ans<<"\n";
	}
} 

为何WA 60

2024/10/26 17:38
加载中...