玄关求调
查看原帖
玄关求调
1806398
ran_mo楼主2025/7/25 11:13
#include <bits/stdc++.h>
using namespace std;
int run1[4],run2[4];
int vis[1005][1005];
int main(){
	run1[0]=0,run2[0]=1;
	run1[1]=1,run2[1]=0;
	run1[2]=-1,run2[2]=0;
	run1[3]=0,run2[3]=-1;
	int t,m,n,k;
	cin>>t;
	while(t>0){
		
		memset(vis,0,sizeof(vis));
		cin>>n>>m>>k;
		char a;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				cin>>a;
				if(a=='.') vis[i][j]=1; 
				else if(a=='x') vis[i][j]=0;
			}
		}
		/*for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				cout<<vis[i][j]<<" "; 
			}
		}*/
	//	cout<<"jksahkjflgqaiolufghqerglhjkhshjklw "<<endl;
		int x,y,d;
		int ans=0;
		cin>>x>>y>>d;
		int x1,y1;
		for(int i=1;i<=k;i++){
			x1=x+run1[d],y1=y+run2[d];
			if(1<=x1<=n&&1<=y1<=m&&vis[x1][y1]==1){
				ans++;
				vis[i+run1[d]][i+run2[d]]=0;
			}
			else d=(d+1)%4;
		}
		cout<<ans<<endl;
		 t--;
	}
	return 0;
}

不知道为什么很奇怪 求调

2025/7/25 11:13
加载中...