7
respostas

Erro de execucao NZEC

Alguém saberia resolver esse erro ao submeter este código para resolver o problema http://br.spoj.com/problems/JGANGO14/??

def main():
    p1 = int(input())
    c1 = int(input())
    p2 = int(input())
    c2 = int(input())
    if(p1*c1==p2*c2):
        print(0)
    elif(p2*c2>p1*c1):
        print(1)
    else:
        print(-1)
    return 0;

main()
7 respostas

Oi Victor,

O problema é que a função input() lê uma linha inteira e o problema dá os 4 números na mesma linha.

Existe alguma função que lê varios valores em uma unica linha? Obrigado

Pra falar a verdade, essa é uma das minhas maiores frustrações com Python e programação competitiva. Particularmente, eu sempre faço alguma gambiarra como

a, b, c, d = map(int, input().split())

Aqui eu estou aplicando int para todos os valores de input.split() e salvando-os nas variáveis a, b, c, d.

Muito estranho, em C/C++ ler na mesma linha ou em outras linhas não faz diferença kkkkkk. Deu resposta errada, vou verificar a lógica.

É que em C/C++ você consegue trabalhar com tokens. Por exemplo, cin ou scanf conseguem ler apenas o próximo inteiro, independente se ele está na mesma linha ou não.

Sério que tive que usar um map para um problema tao simples?? Frustração mesmo KK

accepted edit run

Eu imaginava que o input seguia essa lógica de ler o próximo int, porém não. Valeu