{"trustable":false,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\n\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027$$$$$$\u0027, right: \u0027$$$$$$\u0027, display: true},\n {left: \u0027$$$\u0027, right: \u0027$$$\u0027, display: false},\n {left: \u0027$$\u0027, right: \u0027$$\u0027, display: true},\n {left: \u0027$\u0027, right: \u0027$\u0027, display: false}\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003e给定一个有 $N$ 个节点和 $M$ 条边的有向加权图。你的任务是找到图中任意两个节点之间的最短路径的最小长度。由于边的权重可以为负数,所以路径允许多次访问同一个节点。\u003c/p\u003e\u003cp\u003e具体来说,设 $F(u, v)$ 为节点 $u$ 和 $v$ 之间的最短路径,找到所有节点对 $(u, v)$($1 \\le u, v \\le n$,$u \\neq v$)的最小 $F(u, v)$。如果一对节点 $(u, v)$ 之间不存在路径,则 $F(u, v) \u003d \\infty$。"}},{"title":"输入","value":{"format":"HTML","content":"\u003cp\u003e输入的第一行包含一个整数 $T$($1 \\le T \\le 100$),表示测试用例的数量。\u003c/p\u003e\u003cp\u003e每个测试用例的第一行包含两个整数 $N$ 和 $M$,其中 $N$ 是图中节点的数量($1 \\le N \\le 2000$),$M$ 是边的数量($1 \\le M \\le 5000$)。\u003c/p\u003e\u003cp\u003e接下来的 $M$ 行中,每行包含三个整数 $U, V, C$,表示从节点 $U$ 到节点 $V$($1 \\le U, V \\le N$)有一条代价为 $C$ 的边($-10^6 \\le C \\le 10^6$)。\u003c/p\u003e\u003cp\u003e请注意,图中可能存在同一方向上同一对节点之间的多条边。\u003c/p\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003cp\u003e对于每个测试用例,打印图中最短路径的最小长度,如果最短路径的长度为负无穷,则打印 \"-inf\"。\u003c/p\u003e"}},{"title":"示例 1","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e3\n3 3\n1 2 -1\n2 3 -3\n3 1 -5\n4 5\n1 3 0\n1 2 -2\n2 3 3\n3 4 1\n4 1 -1\n4 4\n1 2 5\n2 3 -3\n3 4 -3\n1 4 2\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e-inf\n-3\n-6\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}