#P13805. [CERC 2022] Bandits
[CERC 2022] Bandits
Description
有一个王国,包含 个村庄和 条双向道路。公民可以通过这些道路沿路径(由一条或多条道路组成)在任意两个村庄之间往来。第 条道路连接村庄 与 ,长度为 。
国王注意到,关于土匪袭击在道路上行商的商人的投诉越来越多。他命令顾问解决这一问题,方法是雇佣忠诚的打手团伙,充当安保机构。每一份安保合同保证从总部所在村庄 出发,半径 内的所有道路得到保护。一条道路会被视为受该合同保护,当且仅当它属于从 出发、长度不超过 的某条路径的一部分。某些道路可能被多份合同保护,因此会更加安全。
请编写程序,处理关于新合同的查询,并回答针对特定道路的安全性查询,即输出当前保护该道路的合同数量。
Input Format
第一行包含一个整数 ,表示村庄的数量。接下来的 行描述这些道路。每行包含三个整数 ,表示一条连接村庄 与 的道路,其长度为 。村庄编号为 。
下一行包含一个整数 ,表示查询数量。接下来的 行依次描述这些查询。
- 表示新安保合同的查询以字符
'+'开头,随后给出总部村庄 与安全半径 。 - 表示道路安全性的查询以字符
'?'开头,随后给出道路编号 。道路编号为 ,编号顺序即为输入时的顺序。
Output Format
按照给定顺序处理查询。对于每一个 '?' 类型的查询,输出一行,包含当前保护道路 的合同数量。
7
1 2 4
4 2 7
5 1 3
3 6 4
1 6 9
2 7 1
7
+ 2 6
? 3
? 1
+ 6 14
? 1
? 2
? 3
0
1
2
0
1
Hint
输入限制
翻译由 ChatGPT-5 完成
京公网安备 11011102002149号