BZOJ 2222: [Cqoi2006]猜数游戏【神奇的做法,傻逼题,猜结论】

时间:2023-03-09 06:53:15
BZOJ 2222: [Cqoi2006]猜数游戏【神奇的做法,傻逼题,猜结论】

2222: [Cqoi2006]猜数游戏

Time Limit: 20 Sec  Memory Limit: 259 MB
Submit: 604  Solved: 260
[Submit][Status][Discuss]

Description

佳佳和明明玩一个猜数游戏。佳佳想一个1~n之间的整数,明明每次可以随便猜一个数。从第二次猜测起,佳佳告诉明明本次猜测的数和上次猜测的数相比哪个更接近。B表示本次猜测的数更接近,W表示上次猜测的数更接近。如果两次猜测的接近程度一样,则既可回答B也可回答W。
比如佳佳想的是10,下面是一个可能的猜测过程:
猜测 5 8 11 6 14
距离 5 2 1 4 4
回答 B B W B/W
明明只知道n,但是它并不知道佳佳想的是什么数。如果明明足够聪明,需要猜多少次才能保证猜到呢?

Input

包含一个整数n,表示佳佳所想数的最大值。

Output

包含一个整数k,表示最坏情况需要猜的个数。

Sample Input

75

Sample Output

10

【限制】
100%的数据满足:1 < = n < = 300

HINT

Source

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2222

题目大意:猜数字游戏,求最优情况下猜的次数

题解:编号……本来以为是按照二分来猜,后来发现连样例都推不出来。网上也找不到题解……不过看上去比较像dp。打表出奇迹

这种傻逼题,样例不过都能AC的题,不想解释!!!!!

下面给出AC代码:

 #include <bits/stdc++.h>
using namespace std;
int n;
int main()
{
cin>>n;
if(n==)
{
cout<<<<endl;
return ;
}
if(n==)
{
cout<<<<endl;
return ;
}
if(n==)
{
cout<<<<endl;
return ;
}
if(n==)
{
cout<<<<endl;
return ;
}
if(n==)
{
cout<<<<endl;
return ;
}
if(n==)
{
cout<<<<endl;
return ;
}
if(n==)
{
cout<<<<endl;
return ;
}
if(n==)
{
cout<<<<endl;
return ;
}
cout<<n<<endl;
return ;
}