P17827 [CSP-J 2026] 旅游 / travel

题目来源

P17827 CSP-J 2026 旅游 / travel(民间数据) - 洛谷

题目描述

小 R 和小 X 准备坐高铁出门旅游。他们买了两张二等座车票,车票上写着各自的车厢号和座位号。两人希望座位相邻,这样旅途中可以坐在一起。

他们乘坐的列车由 17 节车厢组成,车厢编号是 01 到 17。其中,01 和 16 号车厢是一等座车厢,其余车厢是二等座车厢。两人买的都是二等座车票,座位都在二等座车厢中。每节二等座车厢共有 18 排,每排有 5 个座位。座位号由两位排号和一位大写字母组成,例如 03C 表示第 3 排 C 座。每一排的座位按照从左到右的顺序排列,座位字母依次是 A、B、C、D、F,其中 C 座与 D 座之间是过道,即每排过道左侧的座位序列是 A、B、C,右侧是 D、F。以下是一节二等座车厢的座位示意图:

两个座位相邻,当且仅当在同一节车厢的同一排,位于过道的同一侧,且在该侧的座位序列中相邻。

你需要帮助小 R 依次判断:

  • 两张车票对应的座位是否在同一节车厢;
  • 两张车票对应的座位是否在同一节车厢的同一排;
  • 两张车票对应的座位是否在同一节车厢的同一排,且位于过道的同一侧;
  • 两张车票对应的座位是否相邻。

输入格式

输入的第一行包含四个字符串 c1​,s1​,c2​,s2​,分别表示小 R 的车票上的车厢号、座位号,以及小 X 的车票上的车厢号、座位号。

输出格式

输出一行一个长度为 4 的 01 字符串,分别表示四个问题的答案,其中 1 代表是,0 代表否。

输入输出样例

输入 #1

复制代码
02 01A 02 01B

输出 #1

复制代码
1111

输入 #2

复制代码
02 01C 02 01A

输出 #2

复制代码
1110

输入 #3

复制代码
02 01C 02 01D

输出 #3

复制代码
1100

输入 #4

复制代码
02 02B 02 01A

输出 #4

复制代码
1000

输入 #5

复制代码
02 01A 03 01A

输出 #5

复制代码
0000

说明/提示

样例 1 解释

02 号车厢是二等座车厢。01A 和 01B 在同一节车厢、同一排、过道的同一侧,并且相邻,因此输出 1111。

样例 2 解释

两个座位在同一节车厢、同一排、过道的同一侧,但 01C 与 01A 中间隔着 01B,不相邻,因此输出 1110。

数据范围

对于所有测试数据,均有:

  • c1,c2 是 01 到 17 之间除 01 和 16 外的两位车厢号;
  • s1,s2 是对应车厢中的合法座位号,即前两位是 01 到 18 之间的排号,末位是 A、B、C、D、F 中的一个字母;
  • 两张车票对应的不是同一个座位,即 c1=c2 或 s1=s2。
测试点编号 特殊性质
1∼4 A, B, C
5∼10 A, B
11∼14 A
15∼17 D
18∼20 无

特殊性质 A:两个座位在同一节车厢,即 c1​=c2​。

特殊性质 B:两个座位在同一排,即 s1​ 的前两位与 s2​ 的前两位相同。

特殊性质 C:两个座位在过道的同一侧。

特殊性质 D:小 R 的座位是 D 座,小 X 的座位是 F 座,即 s1​ 的末位字符是 D,s2​ 的末位字符是 F。

代码

纯模拟,建议用逐层 if 来判断

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
string c,c1;
int main() {
	string a,a1,b,b1;
	cin>>a>>a1>>b>>b1;
	if(a==b) {
		cout<<1;
		c+=a1[0],c1+=b1[0];
		c+=a1[1],c1+=b1[1];
		if(c==c1) {
			cout<<1;
			if(a1[2]>='A'&&a1[2]<='C'&&b1[2]>='A'&&b1[2]<='C') {
				cout<<1;
				if(abs(a1[2]-b1[2])==1) {
					cout<<1;
				} else {
					cout<<0;
				}
			} else if(a1[2]>='D'&&a1[2]<='F'&&b1[2]>='D'&&b1[2]<='F') {
				cout<<1<<1;
			} else {
				cout<<0<<0;
			}
		} else {
			cout<<0<<0<<0;
		}
	} else {
		cout<<0<<0<<0<<0;
	}
	return 0;
}
相关推荐
科技每日热闻1 天前
绿地会展酒店旅游一体化模式落地 2026文化破局开疆盛典亮相三甲港
旅游
MIXrer2 天前
商场团建聚会选什么?百慕大冒险比单人VR好在哪
vr·旅游
limit00756 天前
公开 WMTS / XYZ 瓦片接入 Cesium:6 类常见问题与排查顺序
chrome·低代码·arcgis·web3·旅游
MIXrer9 天前
场馆引入沙盘赛车,为什么能成为第二消费场景?
汽车·旅游·娱乐
考研保研资料分享9 天前
2022旅游管理跨保华东师大人文地理:五场面试与择校复盘
面试·旅游
Wx-bishekaifayuan17 天前
springboot铜仁非遗之家76938-计算机课程设计、毕业设计
java·spring boot·后端·spring·django·课程设计·旅游
seconp17 天前
基于Spring Boot和Vue 3的智慧旅游网站:住宿预订、行程规划与千问接入
vue.js·spring boot·毕业设计·软件工程·课程设计·旅游·毕设
杨超越luckly17 天前
国庆V型、春节迁徙、五一升温:节假日数据里的中国旅游
agent·旅游·数据可视化·节假日·cpi·国定假日
Wx-bishekaifayuan19 天前
springboot桂味美食分享系统40540-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游