A12620 | Vicky's Delivery Service
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
In a magical land there are $n$ cities conveniently numbered $1, 2, \dots, n$ . Some pairs of these cities are connected by magical colored roads. Magic is unstable, so at any time, new roads may appear between two cities.
Vicky the witch has been tasked with performing deliveries between some pairs of cities. However, Vicky is a beginner, so she can only complete a delivery if she can move from her starting city to her destination city through a double rainbow. A double rainbow is a sequence of cities $c_1, c_2, \dots, c_k$ satisfying the following properties:
- For each $i$ with $1 \le i \le k - 1$ , the cities $c_i$ and $c_{i + 1}$ are connected by a road.
- For each $i$ with $1 \le i \le \frac{k - 1}{2}$ , the roads connecting $c_{2i}$ with $c_{2i - 1}$ and $c_{2i + 1}$ have the same color.
For example if $k = 5$ , the road between $c_1$ and $c_2$ must be the same color as the road between $c_2$ and $c_3$ , and the road between $c_3$ and $c_4$ must be the same color as the road between $c_4$ and $c_5$ .
Vicky has a list of events in chronological order, where each event is either a delivery she must perform, or appearance of a new road. Help her determine which of her deliveries she will be able to complete.
Vicky the witch has been tasked with performing deliveries between some pairs of cities. However, Vicky is a beginner, so she can only complete a delivery if she can move from her starting city to her destination city through a double rainbow. A double rainbow is a sequence of cities $c_1, c_2, \dots, c_k$ satisfying the following properties:
- For each $i$ with $1 \le i \le k - 1$ , the cities $c_i$ and $c_{i + 1}$ are connected by a road.
- For each $i$ with $1 \le i \le \frac{k - 1}{2}$ , the roads connecting $c_{2i}$ with $c_{2i - 1}$ and $c_{2i + 1}$ have the same color.
For example if $k = 5$ , the road between $c_1$ and $c_2$ must be the same color as the road between $c_2$ and $c_3$ , and the road between $c_3$ and $c_4$ must be the same color as the road between $c_4$ and $c_5$ .
Vicky has a list of events in chronological order, where each event is either a delivery she must perform, or appearance of a new road. Help her determine which of her deliveries she will be able to complete.
输入格式
The first line contains four integers $n$ , $m$ , $c$ , and $q$ ( $2 \le n \le 10^5$ , $1 \le m, c, q \le 10^5$ ), denoting respectively the number of cities, the number of roads initially present, the number of different colors the roads can take, and the number of events.
Each of the following $m$ lines contains three integers $x$ , $y$ , and $z$ ( $1 \le x, y \le n$ , $1 \le z \le c$ ), describing that there initially exists a bidirectional road with color $z$ between cities $x$ and $y$ .
Then $q$ lines follow, describing the events. Each event is one of the following two types:
1. + x y z ( $1 \le x, y \le n$ , $1 \le z \le c$ ), meaning a road with color $z$ appears between cities $x$ and $y$ ;
2. ? x y ( $1 \le x, y \le n$ ), meaning you should determine whether Vicky can make a delivery starting at city $x$ and ending at city $y$ . It is guaranteed that $x \neq y$ .
It is guaranteed that at any moment, there is at most one road connecting any pair of cities, and that no road connects a city to itself. It is guaranteed that the input contains at least one event of the second type.
Each of the following $m$ lines contains three integers $x$ , $y$ , and $z$ ( $1 \le x, y \le n$ , $1 \le z \le c$ ), describing that there initially exists a bidirectional road with color $z$ between cities $x$ and $y$ .
Then $q$ lines follow, describing the events. Each event is one of the following two types:
1. + x y z ( $1 \le x, y \le n$ , $1 \le z \le c$ ), meaning a road with color $z$ appears between cities $x$ and $y$ ;
2. ? x y ( $1 \le x, y \le n$ ), meaning you should determine whether Vicky can make a delivery starting at city $x$ and ending at city $y$ . It is guaranteed that $x \neq y$ .
It is guaranteed that at any moment, there is at most one road connecting any pair of cities, and that no road connects a city to itself. It is guaranteed that the input contains at least one event of the second type.
输出格式
For each event of the second type, print a single line containing "Yes" (without quotes) if the delivery can be made, or a single line containing "No" (without quotes) otherwise.
输入输出样例
输入 #1
4 3 2 4 1 2 1 2 3 1 3 4 2 ? 1 4 ? 4 1 + 3 1 2 ? 4 1
输出 #1
Yes No Yes
The following picture corresponds to the sample.
For her first delivery, Vicky can use the sequence 1, 2, 3, 4 which is a double rainbow. However, she cannot complete the second delivery, as she can only reach city $3$ . After adding the road between cities $1$ and $3$ , she can now complete a delivery from city $4$ to city $1$ by using the double rainbow 4, 3, 1.
For her first delivery, Vicky can use the sequence 1, 2, 3, 4 which is a double rainbow. However, she cannot complete the second delivery, as she can only reach city $3$ . After adding the road between cities $1$ and $3$ , she can now complete a delivery from city $4$ to city $1$ by using the double rainbow 4, 3, 1.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted