五颜六色56求调
查看原帖
五颜六色56求调
540177
wyf_sinon楼主2022/5/22 20:06

dalao们 五颜六色56求调 呜呜呜

#include<bits/stdc++.h>
using namespace std;
char a;
int land[22][22],way[4][2]= {-1,0, 0,1, 1,0, 0,-1},fx,fy,cx,cy,ans;
int main() {
	for(int i=1; i<=10; i++) {
		for(int j=1; j<=10; j++) {
			cin>>a;
			if(a=='C') {
				cx=i;
				cy=j;
			} else if(a=='F') {
				fx=i;
				fy=j;
			}
			land[i][j]=int(a);
		}
	}
	int cw=0,fw=0;
	while(cx!=fx||cy!=fy) {
		ans++;
		if(land[cx+way[cw][0]][cy+way[cw][1]]!=42&&cx+way[cw][0]>=1&&cx+way[cw][0]<=10
		        &&cy+way[cw][1]>=1&&cy+way[cw][1]<=10) {
			cx+=way[cw][0];
			cy+=way[cw][1];
		} else {
			cw++;
			if(cw==4) cw=0;
		}
		if(land[fx+way[fw][0]][fy+way[fw][1]]!=42&&fx+way[fw][0]>=1&&cx+way[fw][0]<=10
		        &&fy+way[fw][1]>=1&&fy+way[fw][1]<=10) {
			fx+=way[fw][0];
			fy+=way[fw][1];
		} else {
			fw++;
			if(fw==4) fw=0;
		}
		if(ans>=1e7) {
			cout<<0;
			return 0;
		}
	}
	cout<<ans;
}
2022/5/22 20:06
加载中...