题目描述
凡凡和枫落各有一个战斗力(整型数据),两人每次可进行两种操作,1. 将对方战斗力整除4 ;2. 将对方的战斗力整除2,将自己的战斗力乘2;比赛由凡凡先手
输入描述
输入共一行,包含两个数字 A (1≤A≤1018)A\ (1\le A \le 10^{18})A (1≤A≤1018) 和 B (1≤B≤1018)B\ (1\le B\le 10^{18})B (1≤B≤1018),分别表示凡凡和枫落的战斗力。
题目链接:
登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
代码思路:
实际每次操作为 凡凡和枫落各除以2;
由于是凡凡先手所以凡凡的攻击次数会多一次;
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
void solve()
{
ll a,b;
int cnt1=0,cnt2=0;
cin>>a>>b;
if(b<4)
{
cout<<"fanfan"<<endl;
return;
}
while(a)
{
a/=2;
cnt1++;
}
while(b)
{
b/=2;
cnt2++;
}
// cout<<cnt1<<" "<<cnt2;
if(cnt1+1==cnt2) cout<<"zhubei";
else if(cnt1>=cnt2) cout<<"fanfan";
else cout<<"luoluo";
}
int main(){
solve();
return 0;
}