에 그래프 이론Prüfer 코드는 특정 나무를 나타낸다 정수의 고유 한 순서입니다.
Wikipedia에서 가져온 다음 알고리즘을 사용하여 트리의 Prüfer 코드를 찾을 수 있습니다.
꼭짓점이있는 레이블이 지정된 트리 T를 고려하십시오
{1, 2, ..., n}
. i 단계 에서 가장 작은 레이블이있는 리프를 제거하고 Prüfer 시퀀스 의 i 번째 요소를이 리프의 이웃 레이블로 설정하십시오.
(잎이기 때문에 이웃이 하나뿐입니다).
두 개의 정점이 그래프에 남아 있으면 반복을 중지해야합니다.
직무
레이블이 지정된 트리에 Prüfer 코드의 출력이 제공됩니다. 합리적인 방법으로 입력 할 수 있습니다. 인접 행렬 또는 언어 내장 그래프 표현과 같은. ( 당신은 Prüfer 코드로 입력을하지 않을 수 있습니다 ).
이것은 코드 골프 소스의 바이트를 최소화하는 것을 목표로해야합니다.
테스트 사례
다음은 출력이 ASCII 인 일부 입력입니다. 이와 같은 ASCII 입력을 지원할 필요는 없습니다.
3
|
1---2---4---6
|
5
{2,2,2,4}
1---4---3
|
5---2---6---7
|
8
{4,4,2,6,2,5}
5---1---4 6
| |
2---7---3
{1,1,2,7,3}
[[2,1],[2,3],[2,5],[2,4,6]]
첫 번째 경우 와 같이 입력을 취할 수 있습니까 ? (즉, 각 지점)