結果
問題 | No.1451 集団登校 |
ユーザー |
![]() |
提出日時 | 2021-03-31 14:30:07 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 907 bytes |
コンパイル時間 | 372 ms |
コンパイル使用メモリ | 82,500 KB |
実行使用メモリ | 165,628 KB |
最終ジャッジ日時 | 2024-12-14 19:11:18 |
合計ジャッジ時間 | 17,848 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 TLE * 3 |
ソースコード
import sysinput=sys.stdin.buffer.readlinebelong=list()group=list()ANS=[]mod=10**9+7half=(mod+1)>>1def init(X):global belongglobal groupglobal ANSbelong=list(range(X))group=[[i] for i in range(X)]ANS=[1]*Xdef unite(x,y):if len(group[belong[x]])<len(group[belong[y]]):x,y=y,xif belong[x]==belong[y]:return Truev=1z=belong[y]if len(group[belong[x]])==len(group[z]):v=halfelse:for i in range(len(group[z])):ANS[group[z][i]]=0for i in range(len(group[z])):belong[group[z][-1]]=belong[x]group[belong[x]].append(group[z][-1])del group[z][-1]for i in range(len(group[belong[x]])):ANS[group[belong[x]][i]]=ANS[group[belong[x]][i]]*v%modreturn FalseN,M=map(int,input().split())init(N)for i in range(M):a,b=map(int,input().split())unite(a-1,b-1)for i in range(N):ANS[i]=str(ANS[i])print('\n'.join(ANS))