超时了
查看原帖
超时了
1036284
LYL__1107楼主2024/6/23 18:04
#include<bits/stdc++.h>
using namespace std;
int main(){
	char dd[12][12];
	int cx,cy,cf=1,fx,fy,xf=1,s=1;
	for(int i=0;i<=12;i++) dd[0][i]=dd[11][i]=dd[i][0]=dd[i][11]='*';
	for(int i=1;i<=10;i++){
	    for(int j=1;j<=10;j++){
   		    cin>>dd[i][j];
			if(dd[i][j]=='C') cx=i;cy=j;dd[i][j]='.';
	        if(dd[i][j]=='F') fx=i;fy=j;dd[i][j]='.';	
		}		
	} 
	while(s<1000){
		if(cf==1){
			if(dd[cx+1][cy]=='*')  cf=(cf+1)%4; 
			else cx++;
		}
		else if(cf==2){
			if(dd[cx][cy+1]=='*') cf=(cf+1)%4;
			else cx++;
		}
		else if(cf==3){
			if(dd[cx-1][cy]=='*')  cf=(cf+1)%4; 
			else cx--;
		}
		else if(cf==4){
			if(dd[cx][cy-1]=='*') cf=(cf+1)%4;
			else cx--;
		}
							   
		
		if(xf==1){
			if(dd[fx+1][fy]=='*')  xf=(xf+1)%4; 
			else fx++;
		}
		else if(xf==2){
			if(dd[fx][fy+1]=='*') xf=(xf+1)%4;
			else fx++;
		}
		else if(xf==3){
			if(dd[fx-1][fy]=='*')  xf=(xf+1)%4; 
			else fx--;
		}
		else if(xf==4){
			if(dd[fx][fy-1]=='*') xf=(xf+1)%4;
			else fx--;
		}
		s++;
		if(cx==fx&&cy==fy) cout<<s;
	}
	cout<<0;
	return 0;
}                                                
2024/6/23 18:04
加载中...