1718: 大鱼吃小鱼

1718: 大鱼吃小鱼

1.描述

电影里经常出现这样的镜头小鱼总是被大鱼吃掉,而大鱼上面总还有更大的鱼。久而久之,聪明的大鱼或许就不会去吃小鱼了,否则按照传统剧情,它身后会出现一条更大的鱼。一个有趣的问题出现了:倘若所有的鱼都是理性的,那会出现怎样的情况呢?
假设有 n 条鱼,它们从小到大依次编号为 1, 2, …, n 。我们规定,吃鱼必须要严格按顺序执行。也就是说,大鱼只能吃比自己小一级的鱼,不能越级吃更小的鱼;并且只有等到第 i 条鱼吃了第 i - 1 条鱼后,第 i + 1 条鱼才能吃第 i 条鱼。第 1 条鱼则啥都不能吃,只有被吃的份儿。我们假设,如果有小鱼吃的话,大鱼肯定不会放过;但是,保全性命的优先级显然更高,在吃小鱼之前,大鱼得先保证自己不会被吃掉才行。假设每条鱼都是无限聪明的(并且它们也都知道这一点,并且它们也都知道它们知道这一点),那么第 1 条鱼能存活下来吗?

    当只有一条鱼的时候,第一条肯定能存活。                                                                                       


    当有两条鱼的时候,第二条鱼可以肆无忌惮的吃掉第一条鱼。                                                           

    当有三条鱼的时候,假如第二条鱼敢吃第一条鱼的话,第三条鱼是可以无顾忌的吃第二条鱼的,所以第二条鱼为了自保不能吃第一条鱼,所以第一条鱼能够存活。

     那假如有n条鱼呢?             

输入
输入有多组数据,每组数据有一行。

每行为一个n(1<=n<=1000),代表鱼的条数。

输出
对于每组测试数据输出一行,假如第一条鱼会被吃掉输出YES,否则输出NO。

样例输入
1
2
3
样例输出
NO
YES
NO

2.代码

#include<stdio.h>
int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        if(n%2!=0)
        {
            printf("NO\n");
        }
        else
        {
            printf("YES\n");
        }
    }
    return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤米先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值