hihocoder(10주) 두 갈래 트리(전순 중 순서 추가) 점차적 실현
2443 단어 code
제목: 뒷차례 두루 훑어보다
시간 제한:
10000ms
단일 시한:
1000ms
메모리 제한:
256MB
묘사
미식축제에 참여한 후 샤오하이와 샤오호는 다른 곳에서 한동안 놀았다. 이 과정에서 샤오호는 아주 재미있는 장난감을 얻었다. 작은 공과 나무 막대기로 연결된 것두 갈래 나무!
작은 호는 이 두 갈래 나무에 대해 손을 떼지 않고 좋아해서 그것의 모든 노드에 표시를 했다. 하나는 A에 속한다.Z의 대문자이며 두 노드의 기호가 동일하지 않습니다.샤오하이도 이 기회를 노리고 샤오호에 대한 기초지식을 다시 한 번 다져보았습니다~ 이렇게 이틀을 편안하게 보냈습니다.
이날 샤오호는 바로 이 두 갈래 나무의 전차례, 중차례와 후차례 반복의 결과를 구하고 있었지만, 전차례 반복과 중차례 반복을 구하다가 실수로 두 갈래 나무를 땅에 떨어뜨렸고, 작은 공과 나무 막대기 등 부품이 바닥에 흩어졌다!
샤오호는 사랑하는 장난감을 잃어버려서 펑펑 울려고 했는데 다행히 샤오하이에게 들켰어요. "조급해하지 마세요. 부품이 다 있는 거 아니에요? 맞추면 되는 거 아니에요?"
"그런데 두 갈래 나무가 어떻게 생겼는지 잊어버렸어요!"샤오호는 낙담했다.
"이건 간단해. 네가 방금 이 두 갈래 나무의 전차와 중차가 두루 돌아다니는 결과를 구했잖아. 이 두 가지 정보를 이용하면 두 갈래 나무를 모두 복원할 수 있어!"
"이렇게?!"샤오호는 눈물을 멈추고 물었다. "그럼 어떻게 해야 하나요?"
맞아요!샤오호가 이번 주에 겪은 문제는 바로 두 갈래 나무의 전차와 중차적 역행 결과를 제시하고 이 두 갈래 나무를 복원하여 그 후차적 역행 결과를 출력하는 것이다.
두 갈래 나무가 두루 다니다
입력
각 테스트 지점 (입력 파일) 은 테스트 데이터 그룹만 있습니다.
각 그룹의 테스트 데이터의 첫 번째 행위는 대문자 알파벳으로 구성된 문자열로 이 두 갈래 나무의 앞 순서가 두루 훑어보는 결과를 나타낸다.
각 그룹의 테스트 데이터의 두 번째 행위는 대문자 알파벳으로 구성된 문자열로 이 두 갈래 트리의 중간 순서가 흐르는 결과를 나타낸다.
100%의 데이터에 대해 두 갈래 나무를 만족시키는 노드 수는 26보다 적다.
출력
각 그룹의 테스트 데이터에 대해 대문자 알파벳으로 구성된 문자열을 출력하여 복원된 두 갈래 트리의 뒷부분을 훑어보는 결과를 나타낸다.
샘플 입력
AB
BA
샘플 출력
BA
//
#include <stdio.h>
#include <string.h>
void build(int len, char *s1, char *s2, char *s)
{
int pos;
int i;
if(len<=0)
return ;
for(i=0; i<len; i++ )
{
if(s2[i] == s1[0] )
{
pos = i;
//break;
}
}
build(pos, s1+1, s2, s);
build(len-pos-1, s1+pos+1, s2+pos+1, s+pos);
s[len-1] = s1[0] ;
}
int main()
{
char s1[100];
char s2[100];
char s[100];
int len;
while(scanf("%s", s1)!=EOF)
{
memset(s, '\0', sizeof(s)) ;
scanf("%*c");
scanf("%s", s2 );
len = strlen(s1);
build(len, s1, s2, s);
puts(s);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
소스 코드가 포함된 Python 프로젝트텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.