uva 10410 (나무 복원 BFS)

사고: 한 그루 나무의 순서 와 중간 순서 에 따라 전체 나 무 를 복원 하고 각 노드 의 아들 노드 를 기록 한 다음 에 인쇄 한다.
이런 문 제 는 비교적 전형 적 인 나무 복원 시험 점 이다.이 진 트 리 와 달리 이것 은 다 진 트 리 일 수 있 으 며 이 진 트 리 처럼 아들 노드 의 판단 을 간단하게 할 수 없다.
// #pragma comment(linker, "/STACK:1024000000,1024000000")
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair ii;
const int inf = 1 << 30;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
inline int Readint(){
	char c = getchar();
	while(!isdigit(c)) c = getchar();
	int x = 0;
	while(isdigit(c)){
		x = x * 10 + c - '0';
		c = getchar();
	}
	return x;
}
int in[1010],pre[1010];
vector G[1010];
struct line{
	int l,r;
};
int n;
void solve(){
	queue que;
	line tmp,x;
	tmp.l=0,tmp.r=n;
	que.push(tmp);
	int k=1;
	while(!que.empty()){
		tmp = que.front();
		que.pop();
		int u=pre[tmp.l];
		int top=tmp.l+1;
		if (tmp.r-tmp.l<=1) continue;
		G[u].push_back(pre[top]);
		k++;
		int i;
		for (i=top+1;i

좋은 웹페이지 즐겨찾기