【问题描述】
两只小熊都喜欢吃糖果,也喜欢玩和糖果有关的游戏。Limak 和 Bob 在玩下面的游戏:Limak 先 吃一颗糖,然后Bob 吃两颗,接着 Limak 吃 3 颗,再接着Bob 吃 4 颗,以此类推。如果轮到一只 熊吃糖,但他却吃不到该吃那么多的糖,它就输了。 Limak 最多能吃 A 颗糖(不然会肚子痛的),而 Bob 最多能吃 B 颗糖。谁能获胜呢?请输出胜者的名字(“Limak”或“Bob”)。
【输入形式】
输入的第一行包含一个整数 T,代表测试数据的组数。接下来是 T 组数据。 每组数据仅有一行,包含两个整数 A 和 B,分别代表 Limak 和 Bob 最多能吃的糖果颗数。
【输出形式】
输出共T行,代表每组测试数据的赢家
【样例输入】
10 3 2 4 2 1 1 1 2 1 3 9 3 9 11 9 12 9 1000 8 11
【样例输出】
Bob Limak Limak Bob Bob Limak Limak Bob Bob Bob
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double T,A,B;
cin>>T;
for(int i=0;i<T;i++)
{
int sum1=0,sum2=0;
cin>>A>>B;
for(int a=1;a<=2*sqrt(A)-1;a+=2)
{
sum1+=1;
}
for(int b=2;b<=sqrt(1+4*B)-1;b+=2)
{
sum2+=1;
}
if(sum1>sum2)
{
cout<<"Limak"<<endl;
}
else
{
cout<<"Bob"<<endl;
}
}
system("pause");
return 0;
}
本文探讨了 Limak 和 Bob 在按特定规则进行糖果游戏中的胜算,基于他们各自能吃的糖果数量限制。通过计算每个玩家可能吃到糖果的数量,解析游戏规则,揭示最终的胜负结果。
2085

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



