题目链接:ZOJ 3498 Javabeans
每次取的数是由小到大排序后中部那个盒子javabean的个数,偶数盒子取中间两个任意一个都行,取完排序(当然是脑取脑排==),这样的策略最好,然后可以发现这样每次可以取当前数目的一半,一半后要是整数,所以并不一定是真正的一半,取完为止,找到的规律确实是这样,原因不太清楚,可能是折半的思想?
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int T;
scanf("%d", &T);
while(T--)
{
int n;
scanf("%d", &n);
int res = 0;
while(n > 0)
{
res++;
n = (n >> 1);
}
cout << res << endl;
}
return 0;
}
本文深入探讨ZOJ3498 Javabeans数学策略问题,通过分析每次取数过程,揭示了取数规律及背后的原因,运用折半思想解决该问题。
268

被折叠的 条评论
为什么被折叠?



