#CF487E. Tourists
Tourists
markdown
E. 游客
时间限制:每个测试点 秒
内存限制:每个测试点 MB
输入:标准输入
输出:标准输出
Cyberland 有 座城市,编号从 到 ,由 条双向道路连接。第 条道路连接城市 和 。
对于游客来说,Cyberland 的每座城市都有纪念品出售。具体来说,城市 的纪念品售价为 。
现在有 个查询需要你处理。查询分为两种类型:
C a w:将城市 的纪念品价格改为 。A a b:一位游客将从城市 前往城市 。他会选择一条路线,并且不希望重复访问同一座城市。他会在沿途纪念品最便宜的城市(可能是城市 或 )购买纪念品。你需要输出他在这次旅行中可能买到纪念品的最小价格。
更正式地,我们可以如下定义路线:
- 一条路线是一个城市序列 ,其中 是某个正整数。
- 对于任意 ,有 。
- 对于任意 ,存在一条连接 和 的道路。
- 路线的最小价格为 。
- 所需答案是所有从 到 的合法路线中,最小价格的最小可能值。
输入
第一行包含三个整数 (),用单个空格分隔。
接下来 行,每行包含一个整数 ()。
接下来 行,每行包含两个用空格分隔的整数 和 (,)。
保证同一对城市之间最多有一条道路。任意两个城市之间至少存在一条合法路线。
接下来 行,每行描述一个查询。格式为 C a w 或 A a b(,)。
输出
对于每个类型为 A 的查询,输出对应的答案。
样例
样例 1
输入
3 3 3
1
2
3
1 2
2 3
1 3
A 2 3
C 1 5
A 2 3
输出
1
2
样例 2
输入
7 9 4
1
2
3
4
5
6
7
1 2
2 5
1 5
2 3
3 4
2 4
5 6
6 7
5 7
A 2 3
A 6 4
A 6 7
A 3 3
输出
2
1
5
3
注释
对于第二个样例,最优路线如下:
- 从 到 :路线为 。
- 从 到 :路线为 。
- 从 到 :路线为 。
- 从 到 :路线为 。