이 진 트 리 의 응용
시간 제한:
1000 ms | 메모리 제한:
65535 KB
난이도:
3
묘사 하 다.
제목 은 간단 합 니 다. 이 진 트 리 의 뒷 순서 와 중간 순 서 를 드 리 고 앞 순 서 를 구 합 니 다 (So easy!).
입력
여러 그룹의 데이터 (100 그룹 이하) 를 입력 하여 파일 로 끝 냅 니 다.
각 그룹의 데 이 터 는 한 줄 에 불과 합 니 다. 두 문자열 을 포함 하고 중간 은 빈 칸 으로 구분 되 며 각각 이 진 트 리 의 뒷 순서 와 중간 순서 (문자열 길이 가 26 보다 적 고 입력 데 이 터 는 합 법 적 임) 를 표시 합 니 다.
출력
각 그룹의 출력 데 이 터 는 단독으로 한 줄 을 차지 하고 출력 은 우선 순위 서열 에 대응 합 니 다.
샘플 입력
ACBFGED ABCDEFG
CDAB CBAD
샘플 출력
DBACEGF
BCAD
근원
오리지널
업로드 자
TC_황 평
사고방식: 간단 한 예 를 들다
후 순위: CDAB
중앙 순서: CBAD
후 서 는 좌우 근 이 고 중 서 는 왼쪽 근 오른쪽 이 며 전 서 는 뿌리 좌우 이기 때문에 후 서 의 마지막 요소 B 는 뿌리 이 고 그 다음 에 B 가 중 서 에 있 는 위 치 를 찾 는 것 은 아래 표 1 이다.
중간 순서 에서 B 의 왼쪽 (왼쪽 뿌리) 은 C 입 니 다.
B 의 오른쪽 (오른쪽 자근) 은 AD 이 고 다시 앞 순서 로 돌아 가면 C 가 뿌리 인 것 을 발견 하고 그 후에 방법 이 일치 하 는 것 으로 유추 된다.
그러므로 귀속 으로 이 문 제 를 실현 할 수 있다!
코드:
#include
#include
void travel(char post[], char in[], int n){
int i = 0;
if(n > 0){
printf("%c",post[n-1]);
while(in[i] != post[n-1])
i ++;
travel(post, in, i);
travel(post+i, in+i+1, n-1-i);
}
}
int main(void){
char post[26], in[26];
while(scanf("%s%s", post, in) != EOF ){
int n = strlen( post );
travel(post, in, n);
printf("
");
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AZ-900을 자택 수험으로 무료 취득한 이야기 (2020/10)에서 2일간(오전중에만)의 온라인 트레이닝을 받는 것으로 무료 바우처를 받을 수 있다(등록 메일에 온다) 때문에, 부터 Peason VUE でスケジュール 버튼을 눌러, 화면에 따라 예약해 합격합시다 . ※2020/1...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.