-
//zoj1003 Crashing Balloon
-
//Accepted 1003 C ++ 00:00.06 440K
-
#include <stdio.h>
-
#include <algorithm>
-
using namespace std;
-
int pa,pb,winner;
-
void dfs(int a, int b, int n)
-
{
-
if (b==1) {
-
if (a==1) winner = pa;
-
else winner = pb;//when A>1, asure A is mutiple of B(B==1)
-
}
-
if (n<=100) {//search form 2 to 100
-
if (winner!=pa){//B must challenge A, otherwise A win
-
if (a%n==0) dfs(a/n,b,n+1);
-
if (b%n==0) dfs(a,b/n,n+1);
-
dfs(a,b,n+1);
-
}
-
}
-
}
-
void solve()
-
{
-
if (pa==pb) {printf ("%d/n",pa); return;}
-
if (pa<pb) swap(pa,pb);//play1>play2
-
winner = 0;
-
dfs(pa,pb,2);
-
if (winner==0) winner = pa;
-
printf ("%d/n",winner);
-
}
-
int main()
-
{
-
#ifdef ONLINE_JUDGE
-
#else
-
freopen("1003.txt","r",stdin);
-
#endif
-
while (scanf ("%d %d",&pa,&pb) != EOF)
-
solve();
-
#ifdef ONLINE_JUDGE
-
#else
-
fclose(stdin);
-
#endif
-
return 0;
-
}
zoj1003 Crashing Balloon
最新推荐文章于 2021-08-06 11:34:19 发布