40pts,求助,玄关
查看原帖
40pts,求助,玄关
1346074
a1Ex999楼主2024/11/10 20:04
#include <bits/stdc++.h>
using namespace std;
long long t,n,m,k,x,y,d,sum=1;
char s;
int main(){
	cin>>t;
	for(int i=1;i<=t;i++){
		sum=1;
		cin>>n>>m>>k;
		cin>>x>>y>>d;
		bool tib[n+10][m+10],tmb[n+10][m+10];
		for(int j=1;j<=n;j++){
			for(int z=1;z<=m;z++){
				cin>>s;
				if(s=='x') tib[j][z]=1;
			}
		}
		for(int o=1;o<=k;o++){
			tmb[x][y]=1;
			if(d==0&&tib[x][y+1]==0&&y<m){
				if(tmb[x][y+1]==0) sum++;
				y++;
			}else if(d==1&&tib[x+1][y]==0&&x<n){
				if(tmb[x+1][y]==0) sum++;
				x++;
			}else if(d==2&&tib[x][y-1]==0&&y>1){
				if(tmb[x][y-1]==0) sum++;
				y--;
			}else if(d==3&&tib[x-1][y]==0&&x>1){
				if(tmb[x-1][y]==0) sum++;
				x--;
			}else{
				d=(d+1)%4;
			}
		}
		cout<<sum<<endl;
	}
	return 0;
}
2024/11/10 20:04
加载中...