只有40,只有#1#2#3#4是对的,求改<^*^>
  • 板块题目总版
  • 楼主XXYaixiaomao
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/3 21:07
  • 上次更新2024/11/3 21:08:59
查看原帖
只有40,只有#1#2#3#4是对的,求改<^*^>
1486024
XXYaixiaomao楼主2024/11/3 21:07
#include<bits/stdc++.h>
using namespace std;
char a[1005][1005];
int main(){
	int t,n,m,k,x,y,d;
	cin>>t;
	while(t--){
		cin>>n>>m>>k>>x>>y>>d;
		int ans=1;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				cin>>a[i][j];
			}
		}
		for(int i=1;i<=k;i++){
			if(d==0){
				if(a[x][y+1]=='.' && a[x][y+1]!=4){
					if(y+1<=n){
						ans++;
						a[x][y+1]=4;
					}
					y++;
				}
				else{
					d=(d+1)%4;
				}
			}
			else if(d==1){
				if(a[x+1][y]=='.' && a[x+1][y]!=4){
					if(x+1<=n){
						ans++;
						a[x+1][y]=4;
					}
			    
					x++;
				}
				else{
					d=(d+1)%4;
				}
			}
			else if(d==2){
				if(a[x][y-1]=='.' && a[x][y-1]!=4){
					if(y-1>=1){
						ans++;
						a[x][y-1]=4;
					}
					y--;
				}
				else{
					d=(d+1)%4;
				}
			}
			else{
				if(a[x-1][y]=='.' && a[x-1][y]!=4){
					if(x-1>=1){
						ans++;
						a[x-1][y]=4;
					}
					x--;
				}
				else{
					d=(d+1)%4;
				}
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}
2024/11/3 21:07
加载中...