Submission #22150572
Source Code Expand
Copy
import sysfrom collections import defaultdictsys.setrecursionlimit(10 ** 9) #再帰回数の限界を変更N = int(input())C = [0] + list(map(int, input().split()))L = [[] for i in range(N+1)]for i in range(N-1):a,b = map(int, input().split())L[a].append(b)L[b].append(a)ANS = [True]*(N+1)#全てが良い頂点として初期化、良くない頂点をFalseにしていくANS[0] = False#0は添え字のミスが起きないように置いただけなのでFalseにDC = [0]*(max(C)+1)#現在位置にたどり着くまでにどの色が何回あったかREACHE = [False]*(N+1)#既に到達したかdef dfs(A):if DC[C[A]]>0:ANS[A]=False#同じ色が存在する
import sys from collections import defaultdict sys.setrecursionlimit(10 ** 9) #再帰回数の限界を変更 N = int(input()) C = [0] + list(map(int, input().split())) L = [[] for i in range(N+1)] for i in range(N-1): a,b = map(int, input().split()) L[a].append(b) L[b].append(a) ANS = [True]*(N+1)#全てが良い頂点として初期化、良くない頂点をFalseにしていく ANS[0] = False#0は添え字のミスが起きないように置いただけなのでFalseに DC = [0]*(max(C)+1)#現在位置にたどり着くまでにどの色が何回あったか REACHE = [False]*(N+1)#既に到達したか def dfs(A): if DC[C[A]]>0: ANS[A]=False#同じ色が存在する DC[C[A]]+=1 REACHE[A]=True for l in L[A]: if REACHE[l]==0: dfs(l)#到達してない先なので潜る DC[C[A]]-=1#一つ上に戻るため現地点の色の数を減らす dfs(1) for i in range(N+1): if ANS[i]: print(i)
Submission Info
Submission Time | |
---|---|
Task | E - Unique Color |
User | H20 |
Language | PyPy3 (7.3.0) |
Score | 500 |
Code Size | 1007 Byte |
Status | AC |
Exec Time | 647 ms |
Memory | 175148 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt |
All | binary_01.txt, binary_02.txt, binary_03.txt, binary_04.txt, binary_05.txt, min_01.txt, min_02.txt, path_01.txt, path_02.txt, path_03.txt, path_04.txt, path_05.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, sample_01.txt, sample_02.txt, star_01.txt, star_02.txt, star_03.txt, star_04.txt, star_05.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
binary_01.txt | AC | 390 ms | 91972 KB |
binary_02.txt | AC | 370 ms | 92204 KB |
binary_03.txt | AC | 429 ms | 92980 KB |
binary_04.txt | AC | 408 ms | 93296 KB |
binary_05.txt | AC | 410 ms | 93988 KB |
min_01.txt | AC | 58 ms | 64952 KB |
min_02.txt | AC | 58 ms | 64556 KB |
path_01.txt | AC | 620 ms | 174208 KB |
path_02.txt | AC | 624 ms | 173904 KB |
path_03.txt | AC | 608 ms | 174624 KB |
path_04.txt | AC | 647 ms | 174384 KB |
path_05.txt | AC | 618 ms | 175148 KB |
random_01.txt | AC | 101 ms | 69848 KB |
random_02.txt | AC | 78 ms | 68840 KB |
random_03.txt | AC | 113 ms | 71700 KB |
random_04.txt | AC | 123 ms | 72048 KB |
random_05.txt | AC | 111 ms | 69912 KB |
random_06.txt | AC | 348 ms | 93520 KB |
random_07.txt | AC | 347 ms | 92740 KB |
random_08.txt | AC | 418 ms | 95808 KB |
random_09.txt | AC | 370 ms | 93720 KB |
random_10.txt | AC | 375 ms | 94584 KB |
sample_01.txt | AC | 60 ms | 64808 KB |
sample_02.txt | AC | 58 ms | 64788 KB |
star_01.txt | AC | 266 ms | 97256 KB |
star_02.txt | AC | 302 ms | 98344 KB |
star_03.txt | AC | 303 ms | 98068 KB |
star_04.txt | AC | 298 ms | 98692 KB |
star_05.txt | AC | 296 ms | 98816 KB |