为什么0分,看着能拿一点分啊
查看原帖
为什么0分,看着能拿一点分啊
1047397
a18602930307楼主2024/11/4 21:25
#include<bits/stdc++.h>
using namespace std;
char t[1100][1100];
long long int vis[1100][1100];
long long int n,m,k,x0,yyy,b0,ans=1,T;
int main(){
	//freopen("explore.in","r",stdin);
	//freopen("explore.out","w",stdout);
	cin>>T;
	for(int pp=1;pp<=T;pp++){
	cin>>n>>m>>k;
	cin>>x0>>yyy>>b0;
	vis[x0][yyy]=1;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>t[i][j];
		}
	}
	for(int i=1;i<=k;i++){
		int xx,yy;
		if(b0==0){xx=x0;yy=yyy+1;}
		if(b0==1){xx=x0+1;yy=yyy;}
		if(b0==2){xx=x0;yy=yyy-1;}
		if(b0==3){xx=x0-1;yy=yyy;}
		if(((xx>=1&&xx<=n)&&(yy>=1&&yy<=m))&&t[xx][yy]=='.'){
			if(vis[xx][yy]==0)ans++,vis[xx][yy]=1;
			x0=xx;yyy=yy;
		}else{
			b0=(b0+1)%4;
		}
	}
	cout<<ans<<endl;
    }
	return 0;
}
2024/11/4 21:25
加载中...