2014 Problem D 두 갈래 트리 훑어보기
1397 단어 경험 총결
문제 D:두 갈래 나무 두루 다니기
시간 제한: 1Sec 메모리 제한: 32MB 커밋: 60 해결: 41
제목 설명
사용자가 입력한 일련의 선행 문자열을 읽고 이 문자열에 따라 두 갈래 트리를 만들 수 있는 프로그램을 만듭니다.예를 들어 ABC##DE#G##F#####에서 "#"은 공백을 나타내고 공백 문자는 빈 트리를 나타냅니다.이 두 갈래 나무를 세운 후, 두 갈래 나무에 대해 중순으로 훑어보고, 훑어보는 결과를 출력합니다.
입력
입력은 100을 넘지 않는 문자열 1행을 포함합니다.
출력
여러 그룹의 테스트 데이터가 있을 수 있습니다. 각 그룹의 데이터에 대해 출력은 입력 문자열을 두 갈래 트리 뒤에 있는 서열을 만들고 문자 뒤에 공백이 있습니다.출력 결과마다 한 줄을 차지한다.
샘플 입력
a#b#cdef#####
a##
샘플 출력
a b f e d c
a 경험 총결
이 문제는 어려운 점도 없다. 바로 구성할 때 전역 변수로 접근을 제어하는 수조 아래 표시를 주의하여 접근 오류를 방지하면 다른 것은 아무것도 없다.
정확한 코드
#include
const int maxn=200;
char pre[maxn];
int index;
struct node
{
char data;
node *lchild;
node *rchild;
};
void in(node * root)
{
if(root==NULL)
return;
in(root->lchild);
printf("%c ",root->data);
in(root->rchild);
}
node * create()
{
if(pre[index]=='#')
{
index++;
return NULL;
}
node * p=new node;
p->data=pre[index];
index++;
p->lchild=create();
p->rchild=create();
return p;
}
int main()
{
while(~scanf("%s",pre))
{
index=0;
node *root=create();
in(root);
printf("
");
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
5978 Problem F [귀속 입문] 미로를 걷다제목은 n*m칸의 미로(n줄, m열이 있음을 나타냄)가 있는데 그 중에서 갈 수 있는 것도 있고 갈 수 없는 것도 있다. 파일은 이 n*m개의 데이터와 시작점, 끝점을 읽는다(시작점과 끝점은 모두 두 개의 데이터로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.