TLE?!
查看原帖
TLE?!
1007879
May_to_July楼主2024/10/30 20:13

这位蒟蒻在考场的代码差不多是这样的(70pts)

#include<bits/stdc++.h>
using namespace std;
int xt[5]={0,1,0,-1};
int yt[5]={1,0,-1,0};
char mp[1145][1145];
bool b[1145][1145];
int main(){
	int T,n,m,k,x,y,d,xto,yto;
	cin>>T;
	while(T--){
		memset(b,0,sizeof(b));
		cin>>n>>m>>k>>x>>y>>d;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
  				cin>>mp[i][j];
			}
		}
		b[x][y]=1;
		for(int i=1;i<=k;i++){
			xto=x+xt[d],yto=y+yt[d];
			while(mp[xto][yto]!='.'||xto<1||yto<1||xto>n||yto>m){
				d=(d+1)%4;
				xto=x+xt[d],yto=y+yt[d];
//				cout<<xto<<' '<<yto<<"\n";
				i++;
			}
			b[xto][yto]=1;
			x=xto,y=yto;
		}
		int ans=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				ans+=b[i][j];
			}
		}
		cout<<ans<<'\n';
	}
	return 0;
} 
2024/10/30 20:13
加载中...