题单练习 GESP八级真题-编程题

A7033 | [GESP202509 八级] 最短距离

来源2025
时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

给定正整数 $p,q$ 以及常数 $N=10^{18}$。现在构建一张包含 $N$ 个结点的带权无向图,结点依次以 $1,2,\ldots,N$ 编号。对于任意满足 $1\le uv\le N$ 的 $u,v$,向图中加入一条连接结点 $u$ 与结点 $v$ 的无向边,边权取决于 $u,v$ 是否互质:

  • 若 $u,v$ 互质(即 $u,v$ 的最大公因数为 $1$),则连接结点 $u$ 与结点 $v$ 的无向边长度为 $p$;
  • 否则连接结点 $u$ 与结点 $v$ 的无向边长度为 $q$。
现在给定 $n$ 组询问,第 $i$($1\le i\le n$)组询问给定两个正整数 $a_i,b_i$,你需要回答结点 $a_i$ 与结点 $b_i$ 之间的最短距离。

输入格式

第一行,三个正整数 $n,p,q$,分别表示询问数量,结点编号互质时的边权,以及结点编号不互质时的边权。

接下来 $n$ 行,每行两个正整数 $a_i,b_i$,表示一组询问。

输出格式

输出共 $n$ 行,每行一个整数,表示结点 $a_i$ 与结点 $b_i$ 之间的最短距离。

输入输出样例

输入 #1
4 4 3
1 2
2 3
4 2
3 5
输出 #1
4
4
3
4
输入 #2
5 2 6
1 2
2 3
4 2
3 5
6 6
输出 #2
2
2
4
2
0
C++ 编辑器
输入
输出