Wednesday, November 21, 2012

Solución al problema: 119A - Epic Game [http://codeforces.com] con Java

Solución al problema: 119A - Epic Game [http://codeforces.com] con Java
El link del Problema se encuentra en el siguiente enlace
import java.util.Scanner;

/**
 * 119A - Epic Game [http://codeforces.com]
 * 
 * @author BreakDark
 * @version 1.0 beta
 */
// ACEPTADO!!! xD
public class Main {
    public static void main(String[] args) {
        Scanner Lee; // para leer los datos de entrada
        byte a, b, n; // Simon, Antisimon y total n
        boolean simon; // quien juega

        // AQUI INICIA EL PROGRAMA
        Lee = new Scanner(System.in);
        while (Lee.hasNext()) {
            // leemos los datos
            a = Lee.nextByte();
            b = Lee.nextByte();
            n = Lee.nextByte();
            simon = true;
            // jugamos
            while (mcd(a, n) <= n && mcd(b, n) <= n) {
                if (simon)
                    n -= mcd(a, n);
                else
                    n -= mcd(b, n);
                simon = !simon;
            }
            // mostramos el resultado
            if (simon)
                System.out.println("1");
            else
                System.out.println("0");
        }
    }

    /**
     * Maximo Comun Divisor por el algoritmo de Euclides
     * 
     * @param a
     *            entero A
     * @param b
     *            entero B
     * @return MCD de a y b
     */
    private static int mcd(int a, int b) {
        int r;
        if (a < b) {
            r = a;
            a = b;
            b = r;
        }
        while (b > 0) {
            r = a % b;
            a = b;
            b = r;
        }
        return a;
    }
}

No comments: