結果
問題 | No.2618 除霊 |
ユーザー | sasa8uyauya |
提出日時 | 2024-01-26 22:50:16 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,123 ms / 2,000 ms |
コード長 | 1,206 bytes |
コンパイル時間 | 429 ms |
コンパイル使用メモリ | 82,688 KB |
実行使用メモリ | 141,212 KB |
最終ジャッジ日時 | 2024-09-28 08:43:53 |
合計ジャッジ時間 | 34,047 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 43 ms
52,480 KB |
testcase_01 | AC | 44 ms
52,736 KB |
testcase_02 | AC | 43 ms
52,480 KB |
testcase_03 | AC | 44 ms
52,480 KB |
testcase_04 | AC | 44 ms
52,224 KB |
testcase_05 | AC | 44 ms
52,224 KB |
testcase_06 | AC | 963 ms
113,280 KB |
testcase_07 | AC | 925 ms
113,280 KB |
testcase_08 | AC | 1,030 ms
115,968 KB |
testcase_09 | AC | 954 ms
122,240 KB |
testcase_10 | AC | 855 ms
132,936 KB |
testcase_11 | AC | 814 ms
111,432 KB |
testcase_12 | AC | 1,094 ms
131,328 KB |
testcase_13 | AC | 498 ms
111,008 KB |
testcase_14 | AC | 559 ms
138,976 KB |
testcase_15 | AC | 556 ms
110,980 KB |
testcase_16 | AC | 619 ms
110,336 KB |
testcase_17 | AC | 735 ms
125,420 KB |
testcase_18 | AC | 680 ms
138,188 KB |
testcase_19 | AC | 642 ms
112,624 KB |
testcase_20 | AC | 587 ms
111,576 KB |
testcase_21 | AC | 678 ms
121,924 KB |
testcase_22 | AC | 665 ms
141,212 KB |
testcase_23 | AC | 653 ms
111,180 KB |
testcase_24 | AC | 678 ms
110,988 KB |
testcase_25 | AC | 671 ms
123,808 KB |
testcase_26 | AC | 618 ms
138,920 KB |
testcase_27 | AC | 628 ms
110,408 KB |
testcase_28 | AC | 622 ms
112,552 KB |
testcase_29 | AC | 699 ms
123,552 KB |
testcase_30 | AC | 698 ms
132,772 KB |
testcase_31 | AC | 1,123 ms
134,612 KB |
testcase_32 | AC | 722 ms
109,952 KB |
testcase_33 | AC | 796 ms
111,344 KB |
testcase_34 | AC | 891 ms
111,488 KB |
testcase_35 | AC | 835 ms
115,584 KB |
testcase_36 | AC | 950 ms
113,024 KB |
testcase_37 | AC | 847 ms
121,728 KB |
testcase_38 | AC | 1,013 ms
123,408 KB |
testcase_39 | AC | 904 ms
126,168 KB |
testcase_40 | AC | 863 ms
125,568 KB |
testcase_41 | AC | 899 ms
135,080 KB |
testcase_42 | AC | 826 ms
134,716 KB |
ソースコード
n=int(input()) e=[[] for i in range(n)] for i in range(n-1): a,b=map(int,input().split()) a-=1 b-=1 e[a]+=[b] e[b]+=[a] m=int(input()) x=[0]*n y=[0]*n for s in list(map(int,input().split())): x[s-1]+=1 for t in e[s-1]: x[t]+=1 y[s-1]=1 X=0 v=[0]*n u=[0]*n p=[0]*n g=[0]*n q=[0] while len(q)>0: s=q[-1] if v[s]==0: v[s]=1 X+=x[s]>=1 while g[s]<len(e[s]): t=e[s][g[s]] if v[t]==0: break g[s]+=1 if g[s]<len(e[s]): q+=[t] p[t]=s else: for t in e[s]: if t!=p[s]: u[s]+=x[t]==1 q.pop() for i in range(n): a=0 s=i for t in e[s]: if t!=p[s]: if (y[s],y[t])==(0,0): pass if (y[s],y[t])==(0,1): a+=u[t]+(x[t]==1) if (y[s],y[t])==(1,0): a+=(x[t]==1) if (y[s],y[t])==(1,1): a+=u[t]+(x[t]==2) elif s!=0: if (y[s],y[p[s]])==(0,0): pass if (y[s],y[p[s]])==(0,1): a+=u[t]+(x[p[s]]==1)-(x[s]==1) if p[s]!=0: a+=(x[p[p[s]]]==1) if (y[s],y[p[s]])==(1,0): a+=(x[p[s]]==1) if (y[s],y[p[s]])==(1,1): a+=u[p[s]]+(x[p[s]]==2) if p[s]!=0: a+=(x[p[p[s]]]==1) a+=x[s]>0 print(X-a)