样例没过的AC代码 求修改
查看原帖
样例没过的AC代码 求修改
1375162
MasterBait楼主2024/7/9 20:02
#include<bits/stdc++.h>
using namespace std;
int main(){
	char a[12][12];//0与11留空 1-10
	int xc,yc,xf,yf;
	for(int i=1;i<=10;i++){
		for(int j=1;j<=10;j++){
			cin>>a[i][j];
			if(a[i][j]=='C'){
				xc=i;yc=j;
			}
			if(a[i][j]=='F'){
				xf=i;yf=j;
			}
		}
	} 
	int t=0;
	int d[4]={-1,1,1,-1};
	int ctf=0,ctc=0;//指定d 0,2处理x 1,3处理y 
	while(!(xf==xc&&yf==yc)){
		if(t>=700000){
			cout<<0;
			return 0; 
		}
		if(ctf==0||ctf==2){
			if(a[xf+d[ctf]][yf]=='*'||!a[xf+d[ctf]][yf]){
				ctf++;ctf%=4;
			}
			else{
				xf+=d[ctf];
			}
		}
		else{
			if(a[xf][yf+d[ctf]]=='*'||!a[xf][yf+d[ctf]]){
				ctf++;ctf%=4;
			}
			else yf+=d[ctf];
		}
		if(ctc==0||ctc==2){
			if(a[xc+d[ctc]][yc]=='*'||!a[xc+d[ctc]][yc]){
				ctc++;ctc%=4;
			}
			else{
				xc+=d[ctc];
			}
		}
		else{
			if(a[xc][yc+d[ctc]]=='*'||!a[xc][yc+d[ctc]]){
				ctc++;ctc%=4;
			}
			else yc+=d[ctc];
		}
		t++;
	}
	cout<<t;
	return 0;
} 
2024/7/9 20:02
加载中...