結果
問題 | No.2618 除霊 |
ユーザー |
|
提出日時 | 2024-01-26 22:33:57 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,096 bytes |
コンパイル時間 | 268 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 166,348 KB |
最終ジャッジ日時 | 2024-09-28 08:33:31 |
合計ジャッジ時間 | 21,053 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 4 WA * 39 |
ソースコード
import sys input = sys.stdin.readline n = int(input()) edge = [[] for i in range(n)] for i in range(n-1): a,b = map(int,input().split()) a-=1 b-=1 edge[a].append(b) edge[b].append(a) m = int(input()) goast = list(map(lambda x:int(x)-1,input().split())) g = set(goast) effect = [0 for i in range(n)] for i in range(n): if i in g: for j in edge[i]: effect[j] += 1 effect[i] += 1 cnt = [0 for i in range(n)] for i in range(n): for j in edge[i]: if effect[j] == 1: cnt[i] += 1 a = sum(1 if effect[i] else 0 for i in range(n)) for i in range(n): ans = a temp = 0 if i in g: ans -= 1 for j in edge[i]: if j in g: temp += 1 ans -= cnt[j] if effect[i] == 1: ans += 1 if i in g and effect[j] == 2: ans -= 1 if i not in g and effect[j] == 1: ans -= 1 else: if effect[j] == 1 and i in g: ans -= 1 if temp == effect[i]: ans -= 1 print(ans)