ligações Tópico: https://vjudge.net/contest/362170#problem/F
Sujeito ao efeito:
Para dizer a final é (ex, ey), pedir-lhe o número de ponto de partida possível (se o ponto de partida é (x, y), então você vai para o próximo ponto é (x + z, y) ou (x, y + z) z = lcm (x, y))
A idéia:
blog de Referência: https://blog.csdn.net/yuzhiwei1995/article/details/51100389
LL GCD (LL um, LL b) { LL t; enquanto (b) { t = b; b = a% b; um = t; } Voltar a; } Int main () { int T; scanf ( " % d " , & T); int t = 1 ; enquanto (T-- ) { LL a, b; scanf ( " % LLD% LLD " , & um, e b); LL GCD = GCD (a, b); LL m1= A / GCD; LL m2 = b / GCD; LL ans = 1 ; enquanto ( 1 ) { se (m1 < m2) swap (m1, m2); Se (M1% ( 1 + m2) == 0 ) { M1 = m1 / ( 1 + m2); ans ++ ; } Else pausa ; } Printf ( " Caso #% d:% lld \ n " , t ++ , ans); } retornar 0 ; }