{"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♔♕♖♗♘♙♚♛♜♝♞♟\u003c/p\u003e\n\n\u003cp\u003e给定一个加权无向\u003cspan class\u003d\"tex-font-style-bf\"\u003e连通\u003c/span\u003e图,由$$$n$$$个顶点和$$$m$$$条边组成。\u003c/p\u003e\u003cp\u003e你需要回答$$$q$$$个查询,第$$$i$$$个查询是找到顶点$$$u_i$$$和$$$v_i$$$之间的最短距离。\u003c/p\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003cp\u003e第一行包含两个整数$$$n$$$和$$$m~(1 \\le n, m \\le 10^5, m - n \\le 20)$$$ — 图中顶点和边的数量。\u003c/p\u003e\u003cp\u003e接下来$$$m$$$行包含边:第$$$i$$$条边是由整数$$$v_i, u_i, d_i~(1 \\le u_i, v_i \\le n, 1 \\le d_i \\le 10^9, u_i \\neq v_i)$$$组成的三元组。这个三元组表示顶点$$$u_i$$$和$$$v_i$$$之间有一条权重为$$$d_i$$$的边。保证图中不包含自环和重边。\u003c/p\u003e\u003cp\u003e接下来一行包含一个整数$$$q~(1 \\le q \\le 10^5)$$$ — 查询数量。\u003c/p\u003e\u003cp\u003e接下来的每一行包含两个整数$$$u_i$$$和$$$v_i~(1 \\le u_i, v_i \\le n)$$$ — 查询的描述。\u003c/p\u003e\u003cp\u003e\u003cspan class\u003d\"tex-font-style-bf\"\u003e注意限制条件$$$m - n ~ \\le ~ 20$$$。\u003c/span\u003e\u003c/p\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003cp\u003e输出$$$q$$$行。\u003c/p\u003e\u003cp\u003e第$$$i$$$行应包含第$$$i$$$个查询的答案 — 顶点$$$u_i$$$和$$$v_i$$$之间的最短距离。\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 3\n1 2 3\n2 3 1\n3 1 5\n3\n1 2\n1 3\n2 3\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e3\n4\n1\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}},{"title":"示例 2","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\u003e8 13\n1 2 4\n2 3 6\n3 4 1\n4 5 12\n5 6 3\n6 7 8\n7 8 7\n1 4 1\n1 8 3\n2 6 9\n2 7 1\n4 6 3\n6 8 2\n8\n1 5\n1 7\n2 3\n2 8\n3 7\n3 4\n6 8\n7 8\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e7\n5\n6\n7\n7\n1\n2\n7\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}