11分求大佬帮改,必关
  • 板块灌水区
  • 楼主ybj114514
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/7 11:53
  • 上次更新2024/7/7 15:01:22
查看原帖
11分求大佬帮改,必关
1176017
ybj114514楼主2024/7/7 11:53

传送门· 服了,咋有问题啊?m ?

#include<bits/stdc++.h>
using namespace std;
struct sb{
	int xd=1,x,y;
};
sb ren;
struct bs{
	int xd=1,x,y;
};
bs niu;
int n[12][12],p[12][12];
int main(){
	char dt[12][12];
	bool pd[12][12]={0};
	int s=0;
	for(int i=1;i<=12;i++){
		for(int i=1;i<=12;i++){
			dt[1][i]='*';
			dt[12][i]='*';
			dt[i][1]='*';
			dt[i][12]='*';
		}
	}
	for(int i=2;i<=11;i++){
		for(int j=2;j<=11;j++){
			cin>>dt[i][j];
		}
	}
	for(int i=1;i<=12;i++){
		for(int j=1;j<=12;j++){
			if(dt[i][j]=='*'){
				pd[i][j]==1;
			}
			if(dt[i][j]=='C'){
				niu.x=i;
				niu.y=j;
			}
			if(dt[i][j]=='F'){
				ren.x=i;
				ren.y=j;
			}
		}
	}
	while(niu.x!=ren.x&&niu.y!=ren.y){
		switch(niu.xd){
			case 1:niu.y++;if(pd[niu.x][niu.y]==1){
				niu.xd++;
				
			}break;
			case 2:niu.x++;if(pd[niu.x][niu.y]==1){
				niu.xd++;
				
			}break;
			case 3:niu.y--;if(pd[niu.x][niu.y]==1){
				niu.xd++;
				
			}break;
			case 4:niu.x--;if(pd[niu.x][niu.y]==1){
				niu.xd=1;
				
			}break;
		}
		switch(ren.xd){
			case 1:ren.y++;if(pd[niu.x][niu.y]==1){
				ren.xd++;
				
			}break;
			case 2:ren.x++;if(pd[ren.x][ren.y]==1){
				ren.xd++;
				
			}break;
			case 3:ren.y--;if(pd[ren.x][ren.y]==1){
				ren.xd++;
				
			}break;
			case 4:ren.x--;if(pd[ren.x][ren.y]==1){
				ren.xd=1;
				
			}break;
		}
		s++;
	}
	cout<<s;
	return 0;
}
2024/7/7 11:53
加载中...