(SPOJ) 8704 - Copa do mundo - Solução 1

import java.io.*;
import java.util.*;

class Main {
    public static void main(String[] args) throws NumberFormatException, IOException {
        Main processando = new Main();
        processando.processa();
       
        System.exit(0);
    }
   
    void processa() throws NumberFormatException, IOException {
        String line = "";
       
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        StringTokenizer tokenizer;

        int[][] resultados = new int[4][16];
       
        for (int i = 0; i < 4; i++) {
            int qntos = 1<<(4-i);
           
            for (int j = 0; j < qntos; j+=2) {
                line = br.readLine();
                tokenizer = new StringTokenizer(line);
                int a = Integer.parseInt(tokenizer.nextToken());
                int b = Integer.parseInt(tokenizer.nextToken());
                resultados[i][j] = a > b ? 1 : 0;
                resultados[i][j+1] = b > a ? 1 : 0;
            }
        }
       
        char[] vencedor = new char[16];
        for (int i = 0; i < 16; i++) {
            vencedor[i] = (char)('A' + i);
        }
       
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 1<<(4-i); j+=2) {
                vencedor[j/2] = resultados[i][j] > resultados[i][j+1] ? vencedor[j] : vencedor[j+1];
            }
        }
       
        System.out.println(vencedor[0]);
             
        return;
    }
}

Comments

Popular posts from this blog

(Coderbyte) Powers of Two - Solução

(Coderbyte) Dash Insert II - Solução

(CoderByte) Number Search - Solução