30分,考场样例全过
查看原帖
30分,考场样例全过
986624
mengmeng123456楼主2024/10/26 22:02
#include<bits/stdc++.h>
using namespace std;
int t;
int mk[1005][1005];
int main(){
//	ios::sync_with_stdio(0);
	cin>>t;
	while(t--){
		int x,y,d;
		int n,m,k;
		cin>>n>>m>>k;
		cin>>x>>y>>d;		
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				mk[i][j]=0;
			}
		}
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				char c;
				cin>>c;
				if(c=='x'){
					mk[i][j]=1;
				}
			}
		}
		int ans=0;
		for(int i=1;i<=k;i++){
			if(mk[x][y]!=2){
				ans++;
			}
			mk[x][y]=2;
			if(d==0){
				y++;
			}
			if(d==1){
				x++;
			}
			if(d==2){
				y--;
			}
			if(d==3){
				x--;
			}
			if(x<0||x>n||y<0||y>m||mk[x][y]==1){
				if(d==0){
					y--;
				}
				if(d==1){
					x--;
				}
				if(d==2){
					y++;
				}
				if(d==3){
					x++;
				}		
				d++;
				d%=4;		
			}
		}
			if(mk[x][y]!=2){
				ans++;
			}
			mk[x][y]=2;
			cout<<ans<<"\n";		
	}
	return 0;
}
2024/10/26 22:02
加载中...