Movie - Bridge tour

2 secs 1024 MB
Lazz's icon Lazz

問題文

映像制作班のメンバーは、吊り橋巡りの動画を撮影しようと山奥へ赴いています。

この場所には NN 個の地点と、それらを結ぶ MM 本の吊り橋があります。
各地点は地点 11 、地点 22\cdots、地点 NN 、各吊り橋は橋 11 、橋 22\cdots、橋 MM と名付けられており、橋 i(1iM)i(1 \leq i \leq M) は地点 AiA_i と地点 BiB_i を双方向に結んでいます。
ここで、橋の両端が同じ地点であることも、ある 22 つの地点の間が 22 本以上の橋で直接結ばれていることもありません。

また、 MM 本の吊り橋の中には NN 本の「有名な吊り橋」が含まれており、それらはそれぞれ地点 11 と地点 22 、地点 22 と地点 33\cdots、地点 NN と地点 11 を結んでいます。

映像制作班のメンバーは、好きな地点から撮影を開始し、撮影を続けたまま吊り橋を通って他の地点に進むことを繰り返し、最後に撮影を開始した地点に戻ってきて撮影を終了します。
映像制作班の目的は、その間の撮影での「映え度」という値の総和を最大化することです。

「映え度」とは、各吊り橋を撮影したときに動画が映える度合いを表す値であり、
i(1iM)i(1 \leq i \leq M) に対し、橋 ii を撮影したときに得る「映え度」は CiC_i です。

撮影の過程で、 NN 本の「有名な吊り橋」は絶対に撮影しなくてはいけません。
また、同じ景色を撮っても面白くないので、同じ吊り橋を二度撮影してはいけません。
ただし、同じ地点を複数回通ることはしても構いません。

この条件の下、適切に撮影ルートを決めることで、「映え度」の総和を最大化してください。

制約

  • 3N163 \leq N \leq 16
  • NMN(N1)/2N \leq M \leq N(N-1)/2
  • 1Ai,BiN1 \leq A_i, B_i \leq N
  • 1Ci1061 \leq C_i \leq 10^6
  • i(1iM)i(1 \leq i \leq M) に対し、AiBiA_i \neq B_i
  • iji \neq j ならば {Ai,Bi}{Aj,Bj}\lbrace A_i , B_i \rbrace \neq \lbrace A_j , B_j \rbrace
  • i(1iN)i(1 \leq i \leq N) に対し、 j(1jM)j(1 \leq j \leq M) が存在して、 Aj=iA_j = i かつ Bj=i+1B_j=i+1
    (ただし、i=Ni = N のときは Aj=N,Bj=1A_j = N , B_j = 1 とする)
  • 入力は全て整数

入力

NNMM
A1A_1B1B_1C1C_1
A2A_2B2B_2C2C_2
\vdots
ANA_NBNB_NCNC_N

出力

得ることのできる「映え度」の総和の最大値を出力してください。

サンプル

入力例1
6 14
2 4 10
2 6 6
1 3 1
2 3 5
1 5 6
5 6 7
1 4 2
6 4 1
3 4 7
6 1 6
3 5 4
1 2 5
4 5 5
2 5 1
出力例1
63

たとえば、地点11から始めて
55→橋1313→橋11→橋1212→橋33→橋1111→橋66→橋88→橋99→橋44→橋22→橋1010
というルートで撮影を行うことで、「映え度」の総和を63にすることができます。
同じ吊り橋を二度通ることはできないが、同じ地点は何度通ってもよいことに注意してください。

入力例2
3 3
2 3 10
3 1 9
1 2 6
出力例2
25
入力例3
8 19
3 4 1
1 2 10
8 1 9
5 8 9
3 6 4
4 5 6
8 4 5
3 5 10
6 1 9
7 8 5
4 2 2
8 3 10
5 6 4
5 7 10
7 4 9
6 7 5
1 4 1
1 3 9
2 3 3
出力例3
109

提出


Go (1.21)