正确题解(比第一个好)
2024-12-22 14:46:43
发布于:广东
20阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int a,b;
bool flag;
void dfs(int a,int b,int step){
if(b>a) swap(a,b);//保证a始终大于b
double ans=a*1.0/b;
if(ans>=2||(a0||b0)||ab){
if(step%21){
flag=1;
}return ;
}
dfs(a%b,b,step+=1); //因为“最优策略”所以每一次要尽可能取完 a%b
}
int main(){
cin>>a>>b;
while(a!=0&&b!=0){
dfs(a,b,1);
if(flag) {cout<<"win"<<endl;}
else {cout<<"lose"<<endl;}
cin>>a>>b;
flag=0;
}
return 0;
}
全部评论 1
?
2024-12-22 来自 广东
0
有帮助,赞一个