結果
| 問題 |
No.479 頂点は要らない
|
| コンテスト | |
| ユーザー |
ckawatak
|
| 提出日時 | 2019-03-24 22:08:44 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 845 bytes |
| コンパイル時間 | 352 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 268,544 KB |
| 最終ジャッジ日時 | 2024-10-04 15:39:45 |
| 合計ジャッジ時間 | 5,616 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 16 TLE * 1 -- * 21 |
ソースコード
from copy import deepcopy
N,M = list(map(int, input().split(' ')))
G = {}
for m in range(M):
a,b = list(map(int, input().split(' ')))
if a not in G:
G[a] = [b]
else:
G[a].append(b)
if b not in G:
G[b] = [a]
else:
G[b].append(a)
def remove_edge_on(graph,node):
new_graph = deepcopy(graph)
for adj in new_graph[node]:
new_graph[adj].remove(node)
removed_edge = len(new_graph[node])
new_graph[node] = []
return new_graph,removed_edge
def solve(graph, i, edge, cost):
if edge != M and i == N:
return float('inf')
if edge == M:
return cost
new_graph,removed_edge = remove_edge_on(graph, i)
return min(solve(graph, i+1, edge, cost),
solve(new_graph, i+1, edge+removed_edge, cost+2**i))
print(bin(solve(G,0,0,0))[2:])
ckawatak