#P17396. [ICPC 2018 Shenyang R] The Kouga Ninja Scrolls
[ICPC 2018 Shenyang R] The Kouga Ninja Scrolls
题目描述
故事围绕着 个互为对手的忍者氏族展开,氏族编号从 到 ,同样也有 名忍者,编号从 到 。对每一名忍者,其家族决定了他/她最初的信念与所属的氏族。但故事中会发生一些冲突,例如两个年轻的灵魂,面对各自家族的敌对却坠入爱河,可能会改变心意,一些忍者也可能叛逃至其他敌对的氏族。
这些忍者生活在一个相当宁静的小镇,镇上的小径简单明了,但他们却像一群野兽,时刻盯着其他氏族的忍者,不停逃亡并伺机杀戮。这片区域的领主知道,他们之间战争的终结取决于那些分属不同氏族且相距最远的忍者。
这正是作为领主忠实仆人的一只高贵秃鹫应当做的事情。现在你需要扮演这只秃鹫,实时向领主报告:在编号属于某个指定连续范围内的忍者中,分属不同氏族的两名忍者之间的最大距离是多少。具体而言,平面上两点之间的距离定义为曼哈顿距离,也就是它们笛卡尔坐标差的绝对值之和。
输入格式
输入包含多组测试数据,第一行包含一个正整数 ,表示测试数据的组数,最多为 。
对于每组测试数据,第一行包含两个整数 和 , 表示氏族数量同时也是忍者的数量, 表示特殊的冲突与领主询问的总次数,满足 ,。
接下来的 行描述所有忍者的初始状态。其中第 行包含三个整数 和 ,表示第 名忍者初始所在的位置为 ,初始所属的氏族为第 个,满足 ,。
再接下来的 行按时间顺序描述了所有改变某人位置或氏族的特殊冲突,以及来自领主的所有询问。每行必须是以下三种形式之一:
- :第 名忍者沿方向 改变其位置;也就是说,他/她移动到新位置 ,其中 是他/她原来的位置。
- :第 名忍者改变心意,决定为第 个氏族效力。
- :领主向其秃鹫询问,在编号从 到 (包含两端)的忍者中,分属不同氏族的两名忍者之间的最大距离。
上述 行中出现的所有 和 均满足 ,,。
我们保证所有测试数据中 的总和不超过 , 的总和也不超过 。
输出格式
对于每组测试数据,首先输出一行包含 “Case #x:”(不含引号),其中 是测试数据的编号,从 开始。
然后,对于每个询问,在一行中输出一个整数作为答案。如果相关的所有忍者都属于同一氏族,则输出 。
1
2 8
0 0 1
1 1 2
3 1 2
1 1 1 1
3 1 2
1 1 1 1
2 1 2
3 1 2
2 1 1
3 1 2
Case #1:
2
0
0
2
提示
《甲贺忍法帖》(The Kouga Ninja Scrolls)是一部关于忍者的历史奇幻小说,由日本作家山田风太郎于 1958 年至 1959 年间创作。这是山田在 1958 年至 2001 年间创作的《忍法帖》系列的第一卷。该书由 Geoff Sant 翻译为英文,并于 2006 年 12 月由 Del Rey 出版。
——摘自维基百科,自由的百科全书
翻译由 DeepSeek V4 Pro 完成