結果
| 問題 | No.3087 University Coloring | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2025-04-04 22:58:59 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 977 bytes | 
| コンパイル時間 | 246 ms | 
| コンパイル使用メモリ | 82,580 KB | 
| 実行使用メモリ | 316,928 KB | 
| 最終ジャッジ日時 | 2025-04-04 22:59:11 | 
| 合計ジャッジ時間 | 9,641 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 WA * 1 | 
| other | AC * 3 WA * 12 TLE * 1 -- * 17 | 
ソースコード
import sys
sys.setrecursionlimit(10**8)
n,m=map(int,input().split())
connect=[[] for _ in range(n)]
weight=[]
ans=0
for i in range(m):
    a,b,c=map(int,input().split())
    a-=1
    b-=1
    connect[a].append((b,i))
    connect[b].append((a,i))
    weight.append(c)
    ans+=c
def DFS(now,past,edge):
    global visited
    global ans
    for to,ed in connect[now]:
        if visited[to] and to!=past and len(edge)>=2:
            idx=0
            check=ed
            for i in range(len(edge)):
                if check==ed:
                    idx=i
                    break
            ret=10**18
            for i in range(idx,len(edge)):
                ret=min(ret,weight[edge[i]])
            ans-=ret
            return 
        else:
            if not visited[to]:
                visited[to]=True
                edge.append(ed)
                DFS(to,now,edge)
                edge.pop()
            
visited=[False]*n
visited[0]=True
DFS(0,-1,[])
print(ans*2)
            
            
            
        