CF1051F.The Shortest Statement
提高+/省选-
通过率:0%
时间限制:4.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a weighed undirected connected graph, consisting of n vertices and m edges.
You should answer q queries, the i-th query is to find the shortest distance between vertices ui and vi.
给你一个带权无向连通图,包含 n 个顶点和 m 条边。
你需要回答 q 个查询,其中第 i 个查询要求计算顶点 ui 与 vi 之间的最短距离。
输入格式
The first line contains two integers n and m (1≤n,m≤105,m−n≤20) — the number of vertices and edges in the graph.
Next m lines contain the edges: the i-th edge is a triple of integers vi,ui,di (1≤ui,vi≤n,1≤di≤109,ui=vi). This triple means that there is an edge between vertices ui and vi of weight di. It is guaranteed that graph contains no self-loops and multiple edges.
The next line contains a single integer q (1≤q≤105) — the number of queries.
Each of the next q lines contains two integers ui and vi (1≤ui,vi≤n) — descriptions of the queries.
Pay attention to the restriction m−n ≤ 20.
第一行包含两个整数 n 和 m (1≤n,m≤105,m−n≤20) —— 分别表示图中的顶点数和边数。
接下来 m 行描述各条边:第 i 条边由三个整数 vi,ui,di (1≤ui,vi≤n,1≤di≤109,ui=vi) 组成。该三元组表示在顶点 ui 与 vi 之间存在一条权值为 di 的边。保证图中不含自环和重边。
下一行包含一个整数 q (1≤q≤105) —— 表示查询次数。
接下来的 q 行,每行包含两个整数 ui 和 vi (1≤ui,vi≤n) —— 描述一次查询。
请注意限制条件 m−n ≤ 20。
输出格式
Print q lines.
The i-th line should contain the answer to the i-th query — the shortest distance between vertices ui and vi.
输出 q 行。
第 i 行应包含第 i 个查询的答案——顶点 ui 与 vi 之间的最短距离。
输入输出样例
输入#1
3 3 1 2 3 2 3 1 3 1 5 3 1 2 1 3 2 3
输出#1
3 4 1
输入#2
8 13 1 2 4 2 3 6 3 4 1 4 5 12 5 6 3 6 7 8 7 8 7 1 4 1 1 8 3 2 6 9 2 7 1 4 6 3 6 8 2 8 1 5 1 7 2 3 2 8 3 7 3 4 6 8 7 8
输出#2
7 5 6 7 7 1 2 7
输入解题思路,AI测评打分。不知道怎么写?