April Fools Contest 2018[cf 愚人节专场题解]
大家一起打愚人节的比赛还是挺有意思的!~~ 然而没有学弟留下来打比赛真是有点点小遗憾呢~
A:题目不要怕,只要胆子大
%2就好了
B: 给了两只猫,每只猫分为九个部分,有部分相同,有部分不同,你去摸猫,如果摸到不相同的部分,就给出判断你摸的是哪只猫,输出摸猫的序列和结果
【这题wa的原因竟然是在判断的时候多加了‘!’,删了就对了,迷~】
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
for(int i=0;i<10;i++)
{
cout<<i<<endl;
getline(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 <bits/stdc++.h>
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;i<n;i++)
{
ans=max(abs(a[i]-a[i+1]),ans);
}
if(ans>1)puts("NO");
else puts("YES");
return 0;
}
D 赌博题,你就猜结果,结果可能是1-36 或者是Red Black Odd Even ,随机生成两组数据,如果猜数字的话,需要随机生成两个相同的数字,概率可能是 ? 所以猜奇偶或者颜色就好啦。。我一直猜红色交了4-5次就过了
E 给你了若干个起司(cheese board?),有硬的和软的。。其实就是一个棋盘(chess board?),有两种类型的棋子,然后同种不能相邻放。问你至少要多大的棋盘。。。
这个脑回路很神奇~
#include <bits/stdc++.h>
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<<i<<endl;
break;
}
}
return 0;
}