結果
問題 |
No.556 仁義なきサルたち
|
ユーザー |
|
提出日時 | 2017-11-12 05:39:09 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,399 bytes |
コンパイル時間 | 244 ms |
コンパイル使用メモリ | 12,928 KB |
実行使用メモリ | 24,832 KB |
最終ジャッジ日時 | 2024-11-24 21:23:46 |
合計ジャッジ時間 | 25,054 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 TLE * 8 |
ソースコード
import time dellist = lambda items, indexes: [item for index, item in enumerate(items) if index not in indexes] N,M = [int(i) for i in input().split()] battle = [] for i in range (M): battle.append(list(int(i) for i in input().split())) monkey = list(range(1,N+1)) monk = monkey.copy() group = [] for i in range(N): group.append([(monkey[i])]) #print(group,battle) def bat(a,b): if a == b: return a elif len(a) == len(b): if a[0] < b[0]: for i in b: monk[i-1] = a[0] return a + b if b[0] < a[0]: for i in a: monk[i-1] = b[0] return b + a elif len(a) > len(b): for i in b: monk[i-1] = a[0] return a + b elif len(b) > len(a): for i in a: monk[i-1] = b[0] return b + a for i in range(M): count = 0 k = m = 0 for j in range(len(group)): if battle[i][0] in group[j]: x = group[j] k = j count +=1 if battle[i][1] in group[j]: y = group[j] m = j count+=1 if count == 2: break if k != m: group.pop(k) if k > m: group.pop(m) if k < m: group.pop(m-1) if x == y: group.pop(k) group.append(bat(x,y)) for i in range(N): print(monk[i])