{"trustable":true,"prependHtml":"\u003cstyle type\u003d\"text/css\"\u003e\n #problem-body \u003e pre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333;\n background: rgba(255, 255, 255, 0.5);\n border: 1px solid #ccc;\n border-radius: 6px;\n }\n\u003c/style\u003e\n","sections":[{"title":"","value":{"format":"HTML","content":"\u003cdiv id\u003d\"problem-body\"\u003e\n\t\u003cp\u003e\n给定一棵树(一个无向无环连通图)有 \u003cb\u003eN\u003c/b\u003e 个节点,边的编号为 1, 2, 3 ...\u003cb\u003eN\u003c/b\u003e-1。每条边都有一个整数值表示它的长度。\n\u003c/p\u003e\n\u003cp\u003e\n我们会要求你执行以下形式的一些指令:\n\u003c/p\u003e\n\n\u003cul\u003e\n\u003cli\u003e\u003cb\u003eDIST a b\u003c/b\u003e : 询问节点 \u003cb\u003ea\u003c/b\u003e 和节点 \u003cb\u003eb\u003c/b\u003e 之间的距离\u003cbr\u003e\n或\n\u003c/li\u003e\u003cli\u003e\u003cb\u003eKTH a b k\u003c/b\u003e : 询问从节点 \u003cb\u003ea\u003c/b\u003e 到节点 \u003cb\u003eb\u003c/b\u003e 路径上第 \u003cb\u003ek\u003c/b\u003e 个节点\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003cp\u003e\n\u003cb\u003e例子:\u003c/b\u003e\u003cbr\u003e\n\u003cb\u003eN\u003c/b\u003e \u003d 6 \u003cbr\u003e\n1 2 1 // 连接节点 1 和节点 2 的边的代价为 1 \u003cbr\u003e\n2 4 1 \u003cbr\u003e\n2 5 2 \u003cbr\u003e\n1 3 1 \u003cbr\u003e\n3 6 2 \u003cbr\u003e\n\u003cbr\u003e\n从节点 4 到节点 6 的路径是 4 → 2 → 1 → 3 → 6 \u003cbr\u003e\n\u003cb\u003eDIST 4 6\u003c/b\u003e : 答案是 5 (1 + 1 + 1 + 2 \u003d 5) \u003cbr\u003e\n\u003cb\u003eKTH 4 6 4\u003c/b\u003e : 答案是 3 (从节点 4 到节点 6 的路径上第 4 个节点是 3) \u003cbr\u003e\n\u003c/p\u003e\n\n\u003ch3\u003e输入\u003c/h3\u003e\n\u003cp\u003e\n输入的第一行包含一个整数 \u003cb\u003et\u003c/b\u003e,表示测试用例的数量 (\u003cb\u003et\u003c/b\u003e \u0026lt;\u003d 25)。接下来是 \u003cb\u003et\u003c/b\u003e 个测试用例。\n\u003c/p\u003e\u003cp\u003e对于每个测试用例:\u003c/p\u003e \n\u003cul\u003e\n\u003cli\u003e第一行包含一个整数 \u003cb\u003eN\u003c/b\u003e (\u003cb\u003eN\u003c/b\u003e \u0026lt;\u003d 10000)\n\u003c/li\u003e\u003cli\u003e接下来的 \u003cb\u003eN\u003c/b\u003e-1 行,第 i 行描述第 i 条边:包含三个整数 \u003cb\u003ea b c\u003c/b\u003e 的行表示代价为 \u003cb\u003ec\u003c/b\u003e 的边连接 \u003cb\u003ea\u003c/b\u003e、\u003cb\u003eb\u003c/b\u003e 两个节点 (\u003cb\u003ec\u003c/b\u003e \u0026lt;\u003d 100000)\n\u003c/li\u003e\u003cli\u003e接下来的行包含指令 \u003cb\u003e\"DIST a b\"\u003c/b\u003e 或 \u003cb\u003e\"KTH a b k\"\u003c/b\u003e\n\u003c/li\u003e\u003cli\u003e每个测试用例的结束由字符串 \"\u003cb\u003eDONE\u003c/b\u003e\" 表示。\n\u003c/li\u003e\u003c/ul\u003e\n\u003cp\u003e每个测试用例之间有一个空行。\n\u003c/p\u003e\n\n\u003ch3\u003e输出\u003c/h3\u003e\n\u003cp\u003e对于每个 \u003cb\u003e\"DIST\"\u003c/b\u003e 或 \u003cb\u003e\"KTH\"\u003c/b\u003e 操作,输出一个整数表示其结果。\u003c/p\u003e\n\u003cp\u003e每个测试后打印一个空行。\n\u003c/p\u003e\n\n\u003ch3\u003e例子\u003c/h3\u003e\n\n\u003cdiv\u003e\u003ctable class\u003d\"vjudge_sample\"\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\u003e1\r\n\r\n6\r\n1 2 1\r\n2 4 1\r\n2 5 2\r\n1 3 1\r\n3 6 2\r\nDIST 4 6\r\nKTH 4 6 4\r\nDONE\r\n\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e5\r\n3\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\n\u003c/div\u003e"}}]}