为了相同的前缀-跳楼梯
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
MLGX最近突然间决定要跳楼。。。。。。。。。。。。。。。。。。。梯,一个一共100级台阶的楼梯,MLGX要从第0级跳到第100级,MLGX每一步只能跳1级或2级,假如,现在位于0级上,那么他只能一次跳到第1级或第2级上。但是现在有些台阶被弄脏了,而MLGX有洁癖啊,宁愿放弃也不愿意去踩到那些楼梯,现在给出一些脏的台阶的级数,请你判断MLGX是否能跳到100级,已知第0级是不会脏的。
输入
多组输入。每组输入第一行是脏台阶的个数n(0<=n<=100),第二行输入n个正整数,分别代表第i个台阶是脏的。(无序输入,且数字不会出现重复)
输出
若能跳到100级,输出“Orz”,若不能,输出“Why are you so ben?”。
示例输入
1 1 5 1 4 7 3 10
示例输出
Orz Why are you so ben?
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
int a[110];
while(cin>>n)
{
bool flag = true;
for(int i=0; i<n; i++)
cin>>a[i];
sort(a,a+n);
for(int i=0; i<n-1; i++)
{
if(a[i]+1 == a[i+1])
flag = false;
}
if(a[n - 1] == 100)
flag = false;
if(flag)
cout<<"Orz"<<endl;
else
cout<<"Why are you so ben?"<<endl;
}
return 0;
}