CF1051F.The Shortest Statement

提高+/省选-

通过率:0%

时间限制:4.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a weighed undirected connected graph, consisting of nn vertices and mm edges.

You should answer qq queries, the ii-th query is to find the shortest distance between vertices uiu_i and viv_i.

给你一个带权无向连通图,包含 nn 个顶点和 mm 条边。

你需要回答 qq 个查询,其中第 ii 个查询要求计算顶点 uiu_i 与 viv_i 之间的最短距离。

输入格式

The first line contains two integers nn and m (1≤n,m≤105,m−n≤20)m~(1 \le n, m \le 10^5, m - n \le 20) — the number of vertices and edges in the graph.

Next mm lines contain the edges: the ii-th edge is a triple of integers vi,ui,di (1≤ui,vi≤n,1≤di≤109,ui≠vi)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). This triple means that there is an edge between vertices uiu_i and viv_i of weight did_i. It is guaranteed that graph contains no self-loops and multiple edges.

The next line contains a single integer q (1≤q≤105)q~(1 \le q \le 10^5) — the number of queries.

Each of the next qq lines contains two integers uiu_i and vi (1≤ui,vi≤n)v_i~(1 \le u_i, v_i \le n) — descriptions of the queries.

Pay attention to the restriction m−n ≤ 20m - n ~ \le ~ 20.

第一行包含两个整数 nn 和 m (1≤n,m≤105,m−n≤20)m~(1 \le n, m \le 10^5, m - n \le 20) —— 分别表示图中的顶点数和边数。

接下来 mm 行描述各条边:第 ii 条边由三个整数 vi,ui,di (1≤ui,vi≤n,1≤di≤109,ui≠vi)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) 组成。该三元组表示在顶点 uiu_i 与 viv_i 之间存在一条权值为 did_i 的边。保证图中不含自环和重边。

下一行包含一个整数 q (1≤q≤105)q~(1 \le q \le 10^5) —— 表示查询次数。

接下来的 qq 行,每行包含两个整数 uiu_i 和 vi (1≤ui,vi≤n)v_i~(1 \le u_i, v_i \le n) —— 描述一次查询。

请注意限制条件 m−n ≤ 20m - n ~ \le ~ 20。

输出格式

Print qq lines.

The ii-th line should contain the answer to the ii-th query — the shortest distance between vertices uiu_i and viv_i.

输出 qq 行。

第 ii 行应包含第 ii 个查询的答案——顶点 uiu_i 与 viv_i 之间的最短距离。

输入输出样例

  • 输入#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测评打分。不知道怎么写?

首页