HihoCoder 10 주차: 뒷 순서 옮 겨 다 니 기

2710 단어
대학 2 학년 데이터 구 조 를 배 울 때 나무의 앞 순 서 를 옮 겨 다 니 고 뒤 순 서 를 옮 겨 다 니 며 중간 순 서 를 알 게 되 었 다.그 후에 잊 어 버 렸 어 요. 그 후에 대학교 4 학년 선생님 이 저 를 보 셨 어 요. 저 는 그 때 몰 랐 습 니 다. 정말 부 끄 러 웠 습 니 다.그 후에 그 중 두 개 를 통 해 세 번 째 를 얻 는 방법 을 알 게 되 었 지만 프로 그래 밍 을 통 해 이 루어 진 적 이 없 었 고 이 문 제 를 통 해 다음 과 같은 재 귀 를 통 해 옮 겨 다 니 는 것 을 느 꼈 습 니 다. 재 미 있 습 니 다.자기가 쓴 것 은 매우 수확 이 있다.
\ # 1049: 후 순 옮 겨 다 니 기
시간 제한: 10000 ms
단점 시한: 1000 ms
메모리 제한: 256 MB
묘사 하 다.
미식 축제 에 참여 한 후에 샤 오 하 이와 샤 오 호 는 다른 곳 에서 또 한바탕 놀 았 다. 이 과정 에서 샤 오 호 는 아주 재 미 있 는 장난감 을 얻 었 다. 작은 공 과 나무 막대기 로 연 결 된 이 진 트 리!
작은 호 는 이 두 갈래 나무 에 대해 손 을 떼 지 못 해서 모든 노드 에 A. Z 에 속 하 는 대문자 와 두 노드 의 레이 블 이 똑 같 지 않다 고 표시 했다.샤 오 하 이도 이 기 회 를 잘 보고 소 호 는 이 진 트 리 가 옮 겨 다 니 는 기초 지식 을 다시 공 고 히 했 습 니 다 ~ 이렇게 해서 이틀 을 무사히 보 냈 습 니 다.
이날 소 호 는 이 이 진 트 리 의 앞 순서, 중간 순서 와 뒤 순 서 를 옮 겨 다 니 는 결 과 를 구 해 냈 으 나 앞 순서 와 중 서 를 옮 겨 다 니 며 실수 로 이 진 트 리 를 땅 에 떨 어 뜨 렸 고 작은 공 과 나무 막대기 등 부품 이 바닥 에 떨 어 졌 다!
소 호 는 사랑 하 는 장난감 을 잃 고 펑펑 울 려 고 하 는데 다행히 소 하 이에 게 들 켜 서 "조급해 하지 마. 부품 이 다 있 잖 아. 맞 추 면 되 잖 아." 라 고 권 했다.
"그런데 이 진 트 리 가 어떻게 생 겼 는 지 잊 어 버 렸 어!" 라 고 소 호 는 풀이 죽 어 말 했다.
"이 건 간단 해. 이 이 진 트 리 의 앞 순서 와 중간 순 서 를 옮 겨 다 니 는 결 과 를 방금 구 했 잖 아. 이 두 가지 정 보 를 이용 하면 이 진 트 리 전 체 를 복원 할 수 있어!"
"이렇게 요?!!" 소 호 는 눈물 을 멈 추고 물 었 다. "그럼 어떻게 해 야 하나 요?"
맞다!소 호가 이번 주 에 만난 문 제 는 바로 이 진 트 리 의 앞 순서 와 중간 순 서 를 옮 겨 다 니 는 결 과 를 제시 하고 이 이 진 트 리 를 복원 하고 그 다음 순 서 를 옮 겨 다 니 는 결 과 를 출력 하 는 것 이다.
입력
모든 테스트 포인트 (파일 입력) 가 있 고 테스트 데이터 만 있 습 니 다.
각 그룹의 테스트 데이터 의 첫 번 째 행 위 는 대문자 로 구 성 된 문자열 로 이 두 갈래 나무의 앞 순 서 를 옮 겨 다 니 는 결 과 를 나타 낸다.
각 그룹의 테스트 데이터 의 두 번 째 행 위 는 대문자 로 구 성 된 문자열 로 이 두 갈래 트 리 의 중간 순서 가 옮 겨 다 니 는 결 과 를 나타 낸다.
100% 의 데이터 에 대해 이 진 트 리 를 만족 시 키 는 노드 수 는 26 보다 적다.
출력
각 그룹의 테스트 데이터 에 대해 대문자 로 구 성 된 문자열 을 출력 하여 복 원 된 이 진 트 리 의 뒷 순 서 를 나타 낸다.
샘플 입력
AB
BA
샘플 출력
BA
코드:
#include 
#include 
#include 

using namespace std;

string post_order(string str1,string str2)
{
	char root = str1[0];

	int index = str2.find_first_of(root);

	if(index!=-1)
	{
		string zuozhong = str2.substr(0,index);
		string youzhong = str2.substr(index+1,str2.length()-index);

		string zuoqian = str1.substr(1,zuozhong.length());
		string youqian = str1.substr(1+zuozhong.length());

		return post_order(zuoqian,zuozhong)+post_order(youqian,youzhong)+root;

	}
	else
	{
		return "";
	}
}
int main()
{

	string qian,zhong;
	cin>>qian>>zhong;

	cout<

저작권 성명: 본 고 는 블 로 거들 이 창작 한 글 로 블 로 거들 의 허락 없 이 전재 할 수 없다.
다음으로 전송:https://www.cnblogs.com/lightspeedsmallson/p/4785900.html

좋은 웹페이지 즐겨찾기