poj-2255-Tree Recovery
제목: 두 갈래 나무의 앞 순서와 중간 순서에 따라 후속 순서를 구한다
앞의 순서에 따라 중간의 순서를 왼쪽의 나무, 뿌리와 오른쪽의 나무로 나누어 잎 노드까지 순서대로 귀속시키다
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <vector>
#include <set>
#define N 1000010
#define ll long long
using namespace std;
char s1[30], s2[30], s3[30];
int l, cur, c;
void trave(int left, int right){
int tmp = c++;
if (left == right){
s3[cur++] = s2[left];
return ;
}
int i;
for (i = left; i <= right; i++){
if (s1[tmp] == s2[i]){
break;
}
}
if (i-1 >= left) trave(left, i-1);
if (i+1 <= right) trave(i+1, right);
s3[cur] = s2[i];
cur++;
}
int main(){
#ifndef ONLINE_JUDGE
freopen("1.txt", "r", stdin);
#endif
int i, j;
while(~scanf("%s%s", s1, s2)){
memset(father, 0, sizeof(father));
l = strlen(s1);
s3[l] = 0;
s3[l-1] = s1[0];
cur = 0;
c = 0;
trave(0, l-1);
puts(s3);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.