UVA ~ 699 ~ The Falling Leaves(이차수의 DFS)
1084 단어 [반복 / 검색]【트리/생성 트리】
사고방식: 그룹을 열어 이 열의 합을 유지하면 된다. DFS를 입력하면서 통계를 작성한다.
#include
using namespace std;
const int MAXN = 200;
int v, sum[MAXN];
void dfs(int pos)
{
scanf("%d", &v);
if (v != -1) sum [pos-1] += v, dfs(pos-1);
scanf("%d", &v);
if (v != -1) sum [pos+1] += v, dfs(pos+1);
}
int main()
{
int CASE = 1;
while (~scanf("%d", &v) && v != -1)
{
memset(sum, 0, sizeof(sum));
sum[MAXN/2] = v; dfs(MAXN/2);
printf("Case %d:
", CASE++);
for (int i = 0; i < 200; i++)
{
if (sum[i]) printf("%d", sum[i]);
if (sum[i] && sum[i+1] != 0) printf(" ");
}
printf("
");
}
return 0;
}
/*
5 7 -1 6 -1 -1 3 -1 -1
8 2 9 -1 -1 6 5 -1 -1 12 -1
-1 3 7 -1 -1 -1
-1
*/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
UVA ~ 699 ~ The Falling Leaves(이차수의 DFS)제목: 두 갈래 나무를 한 그루 주면 매 결점마다 수평 위치가 있다. 왼쪽 결점은 왼쪽에 한 단위, 오른쪽 결점은 오른쪽에 한 단위이다.왼쪽에서 오른쪽으로 각 수평 위치의 모든 결점의 권한 값의 합을 출력합니다.그림...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.