分数 10 作者 陈越 单位 浙江大学
为了保障安静的阅读环境,有些公共图书馆对儿童入馆做出了限制。例如“12 岁以下儿童禁止入馆,除非有 18 岁以上(包括 18 岁)的成人陪同”。现在有两位小/大朋友跑来问你,他们能不能进去?请你写个程序自动给他们一个回复。
输入在一行中给出 4 个整数:
禁入年龄线 陪同年龄线 询问者1的年龄 询问者2的年龄
这里的禁入年龄线
是指严格小于该年龄的儿童单独禁止入馆;陪同年龄线
是指大于等于该年龄的人士可以陪同儿童入馆。默认两个询问者的编号依次分别为 1
和 2
;年龄和年龄线都是 [1, 200] 区间内的整数,并且保证 陪同年龄线
严格大于 禁入年龄线
。
在一行中输出对两位询问者的回答,如果可以进就输出 年龄-Y
,否则输出 年龄-N
,中间空 1 格,行首尾不得有多余空格。
在第二行根据两个询问者的情况输出一句话:
qing X zhao gu hao Y
,其中 X
是陪同人的编号, Y
是小孩子的编号;huan ying ru guan
;zhang da zai lai ba
;X: huan ying ru guan
,其中 X
是可以入馆的那个人的编号。12 18 18 8
18-Y 8-Y
qing 1 zhao gu hao 2
12 18 10 15
10-N 15-Y
2: huan ying ru guan
代码长度限制16 KB 时间限制400 ms 内存限制64 MB 栈限制8192 KB
zhang da zai lai ba
huan ying ru guan
qing * zhao gu hao *
。这时应在细分两种情况:1 > 2
或2 > 1
huan ying ru guan
,同样再细分两种情况:1 > 2
或2 > 1
龙龙在判断前加了个排序,让询问者1的年龄<询问者2的年龄,这样就可以让询问者2的年龄直接和陪同年龄线比较
但是在输出Yes/No时分不清那个是哪个,不仅没有简化问题,反而更麻烦了。
# 获取输入
ban, pei, w1, w2 = map(int, input().split())
X = 1
Y = 2
s1, s2 = w1, w2
# 确保 s1 是小的年龄,s2 是大的年龄,同时更新 X 和 Y
if w1 > w2:
s1, s2 = w2, w1
X = 2
Y = 1
# 判断两位询问者是否可以入馆
if s1 < ban:
if s2 < ban:
print(f"{w1}-N {w2}-N")
print("zhang da zai lai ba")
elif s2 >= pei:
print(f"{w1}-Y {w2}-Y")
print(f"qing {Y} zhao gu hao {X}")
else:
if X == 2:
print(f"{w1}-Y {w2}-N")
else:
print(f"{w1}-N {w2}-Y")
print(f"{Y}: huan ying ru guan")
else:
print(f"{w1}-Y {w2}-Y")
print("huan ying ru guan")
这里的禁入年龄线
指严格小于该年龄的儿童禁止入馆,(没有严格二字),是指儿童不能单独进入
要分清哪个年龄大,哪个带哪个进去
要把握自己每次if,else的条件是啥,分开的状态是啥