T2求助
  • 板块灌水区
  • 楼主luojingjie
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/10/26 15:09
  • 上次更新2024/10/26 16:52:53
查看原帖
T2求助
1017079
luojingjie楼主2024/10/26 15:09
#include<bits/stdc++.h>
using namespace std;
int T,n,m,k,x,y,d;
bool f[1005][1005];
int main(){
	cin>>T;
	while(T--){
		cin>>n>>m>>k>>x>>y>>d;
		long long ans=1;
		memset(f,false,sizeof f);
		char a[1005][1005];
		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]=='.'&&x<=n&&y<=m){
					if(f[x][y+1]==false){
						ans++;
					}
					y++;
					f[x][y]=true;
				}
				else{
					d=(d+1)%4;
				}
			}
			else if(d==1){
				if(a[x+1][y]=='.'&&x<=n&&y<=m){
					if(f[x+1][y]==false){
						ans++;
					}
					x++;
					f[x][y]=true;
				}
				else{
					d=(d+1)%4;
				}
			}
			else if(d==2){
				if(a[x][y-1]=='.'&&x<=n&&y<=m){
					if(f[x][y-1]==false){
						ans++;
					}
					y--;
					f[x][y]=true;
				}
				else{
					d=(d+1)%4;
				}
			}
			else{
				if(a[x-1][y]=='.'&&x<=n&&y<=m){
					if(f[x-1][y]==false){
						ans++;
					}
					x--;
					f[x][y]=true;
				}
				else{
					d=(d+1)%4;
				}
			}
		}
		cout<<ans<<"\n";
	}
	return 0;
}

40pts,求调 验证码666c

2024/10/26 15:09
加载中...