L1-083 谁能进图书馆 仓颉(cangjie)

L1-083 谁能进图书馆

分数 10

作者 陈越

单位 浙江大学

为了保障安静的阅读环境,有些公共图书馆对儿童入馆做出了限制。例如“12 岁以下儿童禁止入馆,除非有 18 岁以上(包括 18 岁)的成人陪同”。现在有两位小/大朋友跑来问你,他们能不能进去?请你写个程序自动给他们一个回复。

输入格式:

输入在一行中给出 4 个整数:

禁入年龄线 陪同年龄线 询问者1的年龄 询问者2的年龄

这里的禁入年龄线是指严格小于该年龄的儿童禁止入馆;陪同年龄线是指大于等于该年龄的人士可以陪同儿童入馆。默认两个询问者的编号依次分别为 12;年龄和年龄线都是 [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 是可以入馆的那个人的编号。

输入样例 1:

12 18 18 8

输出样例 1:

18-Y 8-Y
qing 1 zhao gu hao 2

输入样例 2:

12 18 10 15

输出样例 2:

10-N 15-Y
2: huan ying ru guan

 

import std.console.*
import std.convert.*

main(): Unit {
    let get: Array<String> = Console.stdIn.readln().getOrThrow().split(" ")
    let under: Int64 = Int64.parse(get[0])
    let need: Int64 = Int64.parse(get[1])
    let A: Int64 = Int64.parse(get[2])
    let B: Int64 = Int64.parse(get[3])

    var a: Int64 = 0
    var b: Int64 = 0
    if (A >= need) {
        a = 1
    } else if (A < need && A >= under) {
        a = 0
    } else {
        a = -1
    }

    if (B >= need) {
        b = 1
    } else if (B < need && B >= under) {
        b = 0
    } else {
        b = -1
    }

    match ((a, b)) {
        case (1, 1) | (1, 0) | (0, 1) | (0, 0) => print("${A}-Y ${B}-Y\nhuan ying ru guan")
        case (-1, -1) => print("${A}-N ${B}-N\nzhang da zai lai ba")
        case (1, -1) => print("${A}-Y ${B}-Y\nqing 1 zhao gu hao 2")
        case (-1, 1) => print("${A}-Y ${B}-Y\nqing 2 zhao gu hao 1")
        case (0, -1) => print("${A}-Y ${B}-N\n1: huan ying ru guan")
        case (-1, 0) => print("${A}-N ${B}-Y\n2: huan ying ru guan")
        case _ => print("")
    }
}

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值