#J0118. 旅游
题目描述
小 R 和小 X 准备坐高铁出门旅游。他们买了两张二等座车票,车票上写着各自的车厢号和座位号。两人希望座位相邻,这样旅途中可以坐在一起。
他们乘坐的列车由 节车厢组成,车厢编号是 01 到 17。其中,01 和 16 号车厢是一等座车厢,其余车厢是二等座车厢。两人买的都是二等座车票,座位都在二等座车厢中。每节二等座车厢共有 排,每排有 个座位。座位号由两位排号和一位大写字母组成,例如 03C 表示第 排 C 座。每一排的座位按照从左到右的顺序排列,座位字母依次是 A、B、C、D、F,其中 C 座与 D 座之间是过道,即每排过道左侧的座位序列是 A、B、C,右侧是 D、F。以下是一节二等座车厢的座位示意图:
| 过道左侧 | 过道 | 过道右侧 |
|---|---|---|
| A B C | 通道 | D F |
两个座位相邻,当且仅当在同一节车厢的同一排,位于过道的同一侧,且在该侧的座位序列中相邻。
你需要帮助小 R 依次判断:
- 两张车票对应的座位是否在同一节车厢;
- 两张车票对应的座位是否在同一节车厢的同一排;
- 两张车票对应的座位是否在同一节车厢的同一排,且位于过道的同一侧;
- 两张车票对应的座位是否相邻。
输入格式
从标准输入读入数据。
输入的第一行包含四个字符串 ,分别表示小 R 的车票上的车厢号、座位号,以及小 X 的车票上的车厢号、座位号。
输出格式
输出到标准输出。
输出一行一个长度为 的 01 字符串,分别表示四个问题的答案,其中 1 代表是,0 代表否。
02 01A 02 01B
1111
02 01C 02 01A
1110
02 01C 02 01D
1100
02 02B 02 01A
1000
02 01A 03 01A
0000
提示与数据范围
样例 1 解释
02 号车厢是二等座车厢。01A 和 01B 在同一节车厢、同一排、过道的同一侧,并且相邻,因此输出 1111。
样例 2 解释
两个座位在同一节车厢、同一排、过道的同一侧,但 01C 与 01A 中间隔着 01B,不相邻,因此输出 1110。
数据范围
对于所有测试数据,均有:
- 是
01到17之间除01和16外的两位车厢号; - 是对应车厢中的合法座位号,即前两位是
01到18之间的排号,末位是A、B、C、D、F中的一个字母; - 两张车票对应的不是同一个座位,即 或 。
| 测试点编号 | 特殊性质 |
|---|---|
| A, B, C | |
| A, B | |
| A | |
| D | |
| 无 |
特殊性质 A:两个座位在同一节车厢,即 。
特殊性质 B:两个座位在同一排,即 的前两位与 的前两位相同。
特殊性质 C:两个座位在过道的同一侧。
特殊性质 D:小 R 的座位是 D 座,小 X 的座位是 F 座,即 的末位字符是 D, 的末位字符是 F。
来源说明
CSP-J 2026 第二轮第1题。题面据洛谷 P17827 民间数据自测整理,来源:CSP-J 2026 自测。本地使用标准输入输出,测试数据为GeekPi自行构造的训练数据,非CCF官方数据;原选手目录中的外部大样例未随本包提供。