1536 - Libertadores

Esse é um problema mais fácil se mantivermos uma organização das variáveis...

Descrição

Solução

Para este problema, é mais fácil conseguirmos resolver se nós separarmos a quantidade de gols em casa e fora de casa de cada time. A partir daí, se considerarmos M1 e M2 como os resultados do primeiro time e do segundo time dentro de casa respectivamente, e V1 e V2 como os resultados do primeiro e do segundo time fora de casa respectivamente, temos que

  • Primeira condição de vitória:

    • Time 1 ganha se M1 + V1 > M2 + V2

    • Time 2 ganha se M2 + V2 > M1 + V1

    • Empata se M1 + V1 = M2 + V2

  • Segunda condição de vitória:

    • Time 1 ganha se V1 > V2

    • Time 2 ganha se V2 > V1

    • Empata novamente se V1 = V2

#include <stdio.h>

int main(){
    int N, M1, M2, V1, V2;

    scanf("%d", &N);

    for(int i = 0; i < N; ++i){
        scanf("%d x %d", &M1, &V2);
        scanf("%d x %d", &M2, &V1);

        if(M1 + V1 == M2 + V2){
            if(V1 == V2)            printf("Penaltis\n");
            else if(V1 > V2)        printf("Time 1\n");
            else                    printf("Time 2\n");
        }else if(M1 + V1 > M2 + V2) printf("Time 1\n");
        else                        printf("Time 2\n");
    }

    return 0;
}

Last updated