April Fools Contest 2018[cf 愚人节专场题解]

大家一起打愚人节的比赛还是挺有意思的!~~ 然而没有学弟留下来打比赛真是有点点小遗憾呢~

A:题目不要怕,只要胆子大
%2就好了

B: 给了两只猫,每只猫分为九个部分,有部分相同,有部分不同,你去摸猫,如果摸到不相同的部分,就给出判断你摸的是哪只猫,输出摸猫的序列和结果
【这题wa的原因竟然是在判断的时候多加了‘!’,删了就对了,迷~】

#include 
using namespace std;
int main()
{
    string s;
    for(int i=0;i<10;i++)
    {
        cout<cin,s);
        if(s!="no")
        {
            if(s=="great"||s=="cool"||s=="not bad"||s=="don't touch me"||s=="don't think so")
            {
                printf("normal\n");
            }
            else printf("grumpy\n");
            return 0;
        }
    }
    return 0;
}

C题,水题,认真读题就好了,就是把很多个馄饨叠在一起,a[i]表示有a[i]个馄饨叠在一起,题目说要给这些高度排序,每次选最高的放最后,但是如果相邻的馄饨堆的高度差>=2,高的那堆的馄饨就会滑下来,就无法排序了,让你判断能否完成排序,所以只要判断相邻两堆的差是否>=2即可

#include 
using namespace std;
const int maxn=1e5+50;
int a[15];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    int ans=0;
    for(int i=1;iabs(a[i]-a[i+1]),ans);
    }
    if(ans>1)puts("NO");
    else puts("YES");
    return 0;
}

D 赌博题,你就猜结果,结果可能是1-36 或者是Red Black Odd Even ,随机生成两组数据,如果猜数字的话,需要随机生成两个相同的数字,概率可能是 11296 1 1296 ? 所以猜奇偶或者颜色就好啦。。我一直猜红色交了4-5次就过了

E 给你了若干个起司(cheese board?),有硬的和软的。。其实就是一个棋盘(chess board?),有两种类型的棋子,然后同种不能相邻放。问你至少要多大的棋盘。。。
这个脑回路很神奇~

#include 
using namespace std;
const int maxn=1e5+50;
int cnth=0,cnts=0;
int csize[20];
int main()
{
    for(int i=0;i<20;i++)
    {
        int t=i*i/2;
        if(i%2)t+=1;
        csize[i]=t;
    }
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        string a,b;
        cin>>a>>b;
        if(b=="soft")cnts++;
        if(b=="hard")cnth++;
    }
    int ans=max(cnts,cnth);
    for(int i=0;i<20;i++)
    {
        if(ans<=csize[i]&&n<=i*i)
        {
            cout<break;
        }
    }

    return 0;
}

你可能感兴趣的:(脑洞,愚人节专场)