目录
显示
又是一年愚人节时,今年CF照例举办了愚人节比赛。
不过今年出题的人倒是说了:This year I tried to make the problems less puzzling and more versatile.
也就是说,题目的费解程度会下降,但会更有意思。
还有一点:今年的比赛用不到 OEIS 了,再也不用研究数列找规律了。
接下来进入正题。
题目链接
http://codeforces.com/contest/952
A. Quirky Quantifiers
题解
其实没那么复杂,就是判断奇数偶数而已。
#include <stdio.h> int main() { int a; scanf("%d",&a); if(a%2)printf("1"); else printf("0"); return 0; }
B. A Map of the Cat
大意
一道交互式问题,程序需输出一个数,根据交互程序的回答判断出这只猫是正常的猫还是脾气大的猫。
题解
原来以为输出会区分大小写的(可以看那两幅图),结果却并非如此。
于是只能对整个字符串进行比较了(string 大法好啊),注意不要带末尾的那标点符号。
#include <iostream> #include <string> #include <cstdio> using namespace std; string re; int main() { for(int i=0;i<=9;i++) { cout<<i<<endl; fflush(stdout); getline(cin,re); if(re=="no")continue; else if(re=="great"||re=="not bad"||re=="cool"||re=="don't touch me"||re=="don't think so")cout<<"normal"; else cout<<"grumpy"; fflush(stdout); return 0; } }
C. Ravioli Sort
大意
给出馄饨排序的定义:将所有馄饨堆按输入顺序排成一列,随后取出其中最高的一堆(如果高度相同,取出最靠左的一堆),放入结果序列。
但是一旦相邻两堆的高度差大于等于 \(2\),较高堆就会向较低堆滑落,导致排序失败。
给出馄饨序列,试求能否成功排序。
题解
也不算是一道太复杂的题啦,按定义模拟一下就好。
#include <cstdio> #include <algorithm> using namespace std; int a[15]; int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); if(abs(a[i]-a[i-1])>=2&&i!=1) { printf("NO"); return 0; } } sort(a+1,a+n+1); for(int i=1;i<n;i++) if(a[i+1]-a[i]>=2) { printf("NO"); return 0; } printf("YES"); return 0; }
D. I’m Feeling Lucky!
大意
其实就是轮盘赌而已。
题解
red 的格子较多,所以当然要选 red 了(没错,轮盘赌的结果是随机的,所以你有可能会 WA,但显然,赌那些成功概率低的格子是不明智的)。
#include<stdio.h> int main() { printf("red\n"); return 0; }