skip day 7, needs an AST ; done day 8 ; draft day 9
This commit is contained in:
parent
e127af3e0d
commit
69f4c3c8e7
|
@ -0,0 +1,11 @@
|
|||
import sys
|
||||
|
||||
R = T = N = 0
|
||||
for l in sys.stdin.readlines():
|
||||
l = l[:-1]
|
||||
s = eval(l)
|
||||
T += len(l)
|
||||
R += len(s)
|
||||
N += sum((2 if c in ['"', '\\'] else 1 for c in l), 2)
|
||||
#print(len(l),l,len(s), s, nl)
|
||||
print(T, R, T-R, N-T)
|
|
@ -0,0 +1,38 @@
|
|||
import sys
|
||||
import networkx as nx
|
||||
|
||||
G = nx.Graph()
|
||||
D = {}
|
||||
for l in sys.stdin.readlines():
|
||||
l = l[:-1]
|
||||
I = l.split(' ')
|
||||
G.add_edge(I[0], I[2], weight=int(I[4]))
|
||||
#G.add_edge(I[2], I[0], weight=int(I[4]))
|
||||
D[(I[0], I[2])]=int(I[4])
|
||||
D[(I[2], I[0])]=int(I[4])
|
||||
|
||||
|
||||
|
||||
def dfs_visit(graph, node, visited):
|
||||
visited[node] = True
|
||||
for neighbor in graph.neighbors(node):
|
||||
if not visited[neighbor]:
|
||||
dfs_visit(graph, neighbor, visited)
|
||||
|
||||
def dfs(graph):
|
||||
visited = node: False for node in graph.nodes
|
||||
for node in graph.nodes:
|
||||
if not visited[node]:
|
||||
dfs_visit(graph, node, visited)
|
||||
|
||||
|
||||
# Call the DFS function and visit all nodes exactly once
|
||||
dfs(G)
|
||||
|
||||
tsp = nx.approximation.traveling_salesman_problem
|
||||
|
||||
L = tsp(G)#, cycle=False)
|
||||
print(L)
|
||||
S = sum(D[(a,b)] for (a,b) in zip(L[1:],L[2:]))
|
||||
|
||||
print(S)
|
Loading…
Reference in New Issue