Zoj 1003 Crashing Balloon

Zoj 1003 Crashing Balloon
#include  < stdio.h >

int  m, n;
bool  oka =   false , okb =   false ;

void  dfs(  int  a,  int  b,  int  c )
{
    
if ( c >   100  )  return ;
    
else   if ( b ==   1  )
    {
        
if ( a ==   1  ) oka =   true ;
        
else         okb =   true ;
    }
    
    
if ( a %  c ==   0  ) dfs( a /  c, b, c +   1  );
    
if ( b %  c ==   0  ) dfs( a, b /  c, c +   1  );
    
    dfs( a, b, c
+   1  );
}

int  main()
{
    
while ( scanf( " %d%d " & m,  & n ) !=  EOF )
    {
        
int  t;
        
if ( m <  n ) t =  m, m =  n, n =  t;
        
        oka
=  okb =   false ;
        dfs( m, n, 
2  );
        
if ( oka ) printf( " %d\n " , m );
        
else   if ( okb ) printf( " %d\n " , n );
        
else        printf( " %d\n " , m );
    }
    
    
return   0 ;
}

你可能感兴趣的:(Zoj 1003 Crashing Balloon)