求助!!!!!!!!!!!!!!!!!!!!
查看原帖
求助!!!!!!!!!!!!!!!!!!!!
712087
fennudexiaozhiyin楼主2023/4/4 20:45
#include<bits/stdc++.h>
using namespace std;
char q[15][15];
int fx,fy,cx,cy,time1=0;
//int dx[4]={-1,0,1,0};
//int dy[4]={0,1,0,-1};
int run(int a,int b,int c,int d,int cw){
//	int tmpx=a+dx[cw];
//	int tmpy=a+dy[cw];
//	if(tmpx<1 || tmpx >10 || tmpy<1 || q[tmpx][tmpy]=='*'){
//		cw=(cw+1)%4;
//	}
//	else {
//		a=tmpx;
//		b=tmpy;
//	}
	time1++;
	if(q[a][b]==q[c][d]){
		return time1;
	}
	if((b-1<0 || q[a][b-1]=='*') && cw==3) cw=(cw+1)%4;
	else if( (a+1>10 || q[a+1][b]=='*') && cw==0) cw=(cw+1)%4;
	else if( (b+1>10 || q[a][b+1]=='*') && cw==1) cw=(cw+1)%4;
	else if( (a-1<0 || q[a-1][b]=='*') && cw==2) cw=(cw+1)%4;
	if(cw==0){
		q[a][b]=q[a][b-1];
		b--;
		q[c][d]=q[c][d-1];
		d--;
	}
	else if(cw==1){
		q[a][b]=q[a+1][b];
		a++;
		q[c][d]=q[c+1][d];
		c++;
	}
	else if(cw==2){
		q[a][b]=q[a][b+1];
		b++;
		q[c][d]=q[c][d+1];
		d++;
	}
	else if(cw==3){
		q[a][b]=q[a-1][b];
		a--;
		q[c][d]=q[c-1][d];
		c--;
	}
	run(a,b,c,d,cw);
}
int main(){
	for(int i=0;i<10;i++){
		for(int j=0;j<10;j++){
			cin>>q[i][j];
		}
	}
	for(int i=0;i<10;i++){
		for(int j=0;j<10;j++){
			if(q[i][j]=='F'){
				fx=i;
				fy=j;
			}
			if(q[i][j]=='C'){
				cx=i;
				cy=j;
			}
		}
	}
	if(run(cx,cy,fx,fy,0)>=160000){
		cout<<0;
	}
	else {
		cout<<run(cx,cy,fx,fy,0);
	}
	
	return 0;
}


2023/4/4 20:45
加载中...