포럼
문제 USACO0419

위임

설명

농부 존의 농장은 \(N-1\)개의 도로로 연결된 \(N\)개의 목초지(\(2 \leq N \leq 10^5\))로 이루어져 있으며, 어느 목초지에서든 다른 어느 목초지로도 갈 수 있다. 즉, 농장은 트리이다. 하지만 트리에서 필연적으로 생겨나는 까다로운 알고리즘 문제들을 28년 동안 다뤄 온 농부 존은, 트리 모양의 농장은 너무 복잡하다고 결론지었다. 그는 알고리즘 문제가 경로에서는 더 단순하다고 믿는다.

그래서 그의 계획은 도로 집합을 여러 개의 경로로 분할하고, 각 경로에 대한 책임을 유능한 일꾼에게 위임하는 것이다. 다툼을 피하기 위해, 그는 각 경로의 길이가 모두 같기를 원한다. 그는 어떤 길이에 대해 그러한 분할이 존재하는지 궁금하다.

더 정확히는, 각 \(1 \leq K \leq N-1\)에 대해 도로들을 길이가 정확히 \(K\)인 경로들로 분할할 수 있는지를 농부 존이 판별하도록 도와주자.

문제 제공: Mark Gordon, Dhruv Rohatgi

제약

배점

  • 테스트 케이스 2-4에서 트리는 별(star) 모양이다. 즉, 차수가 2보다 큰 정점이 많아야 하나이다.
  • 테스트 케이스 5-8은 \(N\le 10^3\)을 만족한다.
  • 테스트 케이스 9-15는 추가 제약이 없다.

문제 제공: Mark Gordon, Dhruv Rohatgi

입력 형식

첫째 줄에 정수 \(N\)이 하나 주어진다.

다음 \(N-1\)개의 줄 각각에 정점 \(a\)\(b\) 사이의 간선을 나타내는, 공백으로 구분된 두 정수 \(a\)\(b\)가 주어진다. \(a\)\(b\)는 각각 \(1 \ldots N\) 범위이다.

출력 형식

길이 \(N-1\)의 비트 문자열을 출력한다. 각 \(1\le K\le N-1\)에 대해, 이 문자열의 왼쪽에서 \(K\)번째 비트는 트리의 간선들을 길이가 정확히 \(K\)인 경로들로 분할할 수 있으면 1, 그렇지 않으면 \(0\)이어야 한다.

Standard input / output
This problem is judged over standard input/output. The original contest used named files — if you prefer the classic interface, tick “File I/O” on the submit form and read/write these files instead:
입력을 읽을 파일 deleg.in · 출력을 쓸 파일 deleg.out
예제 1
입력
13
1 2
2 3
2 4
4 5
2 6
6 7
6 8
8 9
9 10
8 11
11 12
12 13
출력
111000000000
설명

It is possible to partition this tree into paths of length \(K\) for \(K=1,2,3.\)
For \(K=3\), a possible set of paths is as follows:

$$ 13-12-11-8, 10-9-8-6, 7-6-2-3, 5-4-2-1 $$

문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2019-2020 > February > Gold

태그

평가 및 의견

Delegation

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Delegation

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
파일 입출력 (deleg.in / deleg.out — classic USACO interface; off = stdin/stdout)
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8