我的代码错哪儿了?
查看原帖
我的代码错哪儿了?
1618475
Saberzhang楼主2025/1/21 22:14
#include <bits/stdc++.h>
using namespace std;
int main(){
	char t[12][12];
	int f1,f2,f=0,fn;
	int c1,c2,c=0,cn;
	for(int i=0;i<=11;i++){
		t[0][i]='*';
		t[11][i]='*';
		t[i][0]='*';
		t[i][11]='*';
	}
	for(int i=1;i<=10;i++)
		for(int j=1;j<=10;j++){
			cin>>t[i][j];
			if(t[i][j]=='C'){
				c1=i;
				c2=j;
				cn=100*i+j;
			}
			if(t[i][j]=='F'){
				f1=i;
				f2=j;
				fn=100*i+j;
			}
		}
	bool flag=true;
	int cnt=0;
	for(int i=1;;i++){
		cnt++;
		if(f==0){
			if(t[f1-1][f2]=='*'){
				f==1;
			}
			else{
				f1--;
			}
		}
		if(f==1){
			if(t[f1][f2+1]=='*')
				f==2;
			else
				f2++;
		}
		if(f==2){
			if(t[f1+1][f2]=='*')
				f==3;
			else
				f1++;
		}
		if(f==3){
			if(t[f1][f2-1]=='*')	
				f==0;
			else
				f2--;
		}
		if(c==0){
			if(t[c1-1][c2]=='*'){
				c==1;
			}
			else{
				c1--;
			}
		}
		if(c==1){
			if(t[c1][c2+1]=='*')
				c==2;
			else
				c2++;
		}
		if(c==2){
			if(t[c1+1][c2]=='*')
				c==3;
			else
				c1++;
		}
		if(c==3){
			if(t[c1][c2-1]=='*')	
				c==0;
			else
				c2--;
		}
		if(f1==c1&&f2==c2){
			break;
		}
		if(f1*100+f2==fn&&c1*100+c2==cn&&f==0&&c==0){
			flag=false;
			break;
		}
	}
	if(flag)
		cout<<cnt;
	else
		cout<<0;
	return 0;
}
2025/1/21 22:14
加载中...