Submission #22150572


Source Code Expand

Copy
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#0False
DC = [0]*(max(C)+1)#
REACHE = [False]*(N+1)#
def dfs(A):
if DC[C[A]]>0:
ANS[A]=False#
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
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
AC × 2
AC × 29
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


2025-03-27 (Thu)
14:38:55 +00:00