poj 2312 배 틀 시 티 (우선 대기 열)

제목:
탱크 전쟁,
'Y' (you), 
'T' (target),
 'S' (steel wall),
 'B' (brick wall),
 'R' (river) 
 'E' (empty space).
Y 에서 T 까지 최소한 의 시간 을 물 어보 세 요.걸음 수가 아니 라 >
분석 하 다.
처음에 큐 로 WA 를 한 번 했 어 요.
아니면 초기 화 를 잊 었 는 지, 그리고 요즘 은 항상 RE 의 비극 이 네요. B 와 E | | T 의 것 도 입 대 했 군요...................................................입 대 함 수 는 if 에 넣 으 세 요. 
ps:
이번 주 데이터 구조 실습, 너무 실 패 했 습 니 다. 가끔 너무 약 합 니 다!!!
#include//        ,          。      , zoj1649   。
#include 
#include 
#include 
using namespace std;
typedef struct point{
	int x,y;
	int len;
	bool operator_<
    return len>e.len;
}
}point;
char a[315][315];
int flag[315][315];
int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
int N,M;
point end;
priority_queueQ;
int BFS(point s)
{
	point head,temp;
	int x,y,len=0;
	flag[s.x][s.y]=1;
	Q.push(s);
	while(!Q.empty())
	{
		head=Q.top  ();
		
		if(a[head.x][head.y]=='T') return head.len;
		Q.pop ();
		for(int i=0;i<4;i++)
		{
			x=head.x+dir[i][0];
			y=head.y+dir[i][1];
			if(x>=0&&x=0&&y>a[i][j];
				if(a[i][j]=='Y')
				{
					start.x=i;
					start.y=j;
				}
			}
		}
		start.len=0;
		len=BFS(start);
		printf("%d
",len); } return 0; }

좋은 웹페이지 즐겨찾기