有佬帮忙看看为什么只有80
查看原帖
有佬帮忙看看为什么只有80
1170547
LgFvm9353楼主2024/3/3 15:51
#include<iostream>
using namespace std;
int book[101][101];
char a[10][10];
int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
struct node{
	int x,y,step;
}e[105];
int main()
{
	int nx,ny,head=1,tail=1;
	for(int i=1;i<=10;i++)
	{
		for(int j=1;j<=10;j++)
		{
			cin>>a[i][j];
			if(a[i][j]=='B'){
			nx=i;
			ny=j;	
			}
		 } 
	}
	book[nx][ny]=1;
	e[tail].x=nx,e[tail].y=ny,e[tail].step=0;
	tail++;                                                                                      
	while(head<tail)
	{
		if(a[e[head].x][e[head].y]=='L')
		{
			cout<<e[head].step-1<<endl;
			break;          
		}
        int flag=0;
		for(int i=0;i<4;i++)
		{
			int mx=e[head].x+dx[i];
			int my=e[head].y+dy[i];
			if(mx<0||my<0||mx>10||my>10) continue;
			if(a[mx][my]!='R'&&book[mx][my]==0)
			{
				
				e[tail].x=mx;
				e[tail].y=my;
				e[tail].step= e[head].step+1;
				tail++;
				book[mx][my]=1;
			}
		}
		//if(flag=1) break;
		head++;
	}
	return 0;
}
2024/3/3 15:51
加载中...