TOPIC

PROBLEM 1536 - URI Fórum 1.0

URI Online Judge asked 6 years ago

URI Online Judge Fórum 1.0

MOD

This topic was solved and cannot recieve new replies.

  • Leandro Tk replied 4 years ago

    Tem um erro no enunciado:

    Mas na verdade pode haver: M=0 --> M(0 ≤ M ≤ 100) e V=0 --> V(0 ≤ V ≤ 100)

  • Abhishek replied 4 years ago

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        short score[4];
        short n;
    
        cin>>n;
        bool *flag = new bool[n];
    
        while(n>0)
        {
            for(short j=0;j<4;j+=2)
            {
                cin >> score[j];
                getchar();
                cin >> score[j+1];
            }
    
            if((score[0] + score[3]) > (score[1] + score[2]))
                cout << "Time 1" << endl; 
            else if((score[0] + score[3]) < (score[1] + score[2]))
                cout << "Time 2" << endl;
            else if((score[0] == score[1] == score[2] == score[3])) 
                cout << "Penaltis" << endl;
            else if((score[0] == score[1]) && (score[2] == score[3]))
            {
                if((score[0] + score[1] + score[2] + score[3]) > 0)
                    cout << "Time 1" << endl;   
                else
                    cout << "Penaltis" << endl;
            }
    
            n--;
        }
    
        return 0;
    }

    WA 60%. Please help...

  • Gabriel Alamiro replied 4 years ago

    Estou recebendo W.A 10% alguém sabe o que é?

    #include <bits/stdc++.h>
    
    using namespace std;
    
    int main(){
    
        int a=0, b, c[2], d[2], ctot, dtot;
        char f[2];
    
     cin >> b;
        while(a<b){
         ctot=0;
         dtot=0;
         cin>> c[0] >> f[0] >> d[0];
         cin>> d[1] >> f[0] >> c[1];
    
         ctot=c[0]+c[1];
         dtot=d[0]+d[1];
    
          if(ctot>dtot || d[0]<c[1]){
            cout<< "Time 1"<<endl;
          }
          else if(ctot<dtot || d[0]>c[1]){
            cout<< "Time 2"<<endl;
          }
          else{
             cout << "Penaltis"<<endl;
          }
         a++;
        }
       return 0;
    }
  • Matheus Rodrigues Fernandes replied 4 years ago

    Alguém pode me dar uma ajuda? O código retorna a resposta certa, mas estou recebendo Wrong Answer 60%. :\

    #include <iostream>
    
    using namespace std;
    
    int main(){
        int N = 0, i = 0, ga1 = 0, gb2 = 0, gb1 = 0, ga2 = 0, g1 = 0, g2 = 0;
    
        cin >> N;
    
        do{
            cin >> ga1 >> gb2;
            cin >> gb1 >> ga2;
            g1 = ga1 + ga2;
            g2 = gb1 + gb2;
            if(g1 == g2){
                if(ga2 == gb2){
                    cout << "Penaltis" << endl;
                }
                else if(ga2 > gb2){
                    cout << "Time 1" << endl;
                }
                else if(gb2 > ga2){
                    cout << "Time 2" << endl;
                }
            }
            else{
                if(g2 > g1){
                    cout << "Time 2" << endl;
                }
                else if(g1 > g2){
                    cout << "Time 1" << endl;
                }
            }
    
            i++;
        }while(i < N);
    }
  • Sabryna de Sousa Pessoa replied 4 years ago

    WA 20%, pq?

    int n, m, v, i, cont1 = 0, cont2 = 0, time1, time2;
    
    scanf ("%d", &n);
    
    for ( i = 1; i <= (2*n); i++ ){
    
        time1 = 0, time2  = 0;
    
        scanf ("%d x %d", &m, &v);
    
        if ( i%2 == 0 ){
            time1 = cont1 + v;
            time2 = cont2 + m;
    
            if ( time1 > time2  || time1 == time2 && v > cont1){
                printf ("Time 1\n");
            }
            else if ( time2 > time1 || time1 == time2  && cont2 > m){
                printf ("Time 2\n");
            }
            else{
                printf ("Penaltis\n");
            }
    
            cont1 = 0, cont2  = 0;
    
        }
        else{
            cont1 += m, cont2 += v;
        }
    
    }
  • Icaro Baruffi replied 4 years ago

    O que está errado neste diabo!? 20 ERRO!

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
    bool time1, time2;
    int leitura;
    int maiorA, maiorB,menorA,menorB,a,b,gols1,gols2;
    char x[1];                                 
    scanf("%d", &leitura);
    for (int i =0; i<leitura; i++){
        maiorA=0;
        maiorB=0;
        menorA=0;
        menorB=0;
        a=0;b=0;
        gols1=0;gols2=0;
        time1=false;
        time2=false;
    
            scanf("%d %c %d", &gols1, &x, &gols2); 
            if (gols1>gols2){ 
               time1=true; 
                maiorA=gols1; //aa
                menorB=gols2; //aa
            } 
            if (gols2>gols1) {
                time2=true; 
               maiorB=gols2; //aa
               menorA=gols1; //aa
            }       
            a=gols1+gols2;
    
            scanf("%d %c %d", &gols2, &x, &gols1);  
            if (gols2>gols1) {
                time2=true; 
                maiorB=gols2; //aa
                menorA=gols1; //aa
            }
            if (gols1>gols2){
                time1=true; 
                maiorA=gols1; //aa
                menorB=gols2; //aa      
            }
            b=gols1+gols2;
    
        /*printf("MaiorA %d MaiorB %d\n",maiorA, maiorB);
        printf("MenorA %d MenorB %d\n",menorA, menorB);
        printf("Total A %d Total B %d\n", a,b);*/
    
            for (int j=0; j<1; j++){
                if (time1==true && time2!=true){
                    printf("Time 1\n");
                    break;
                }
                if (time1!=true && time2==true){
                    printf("Time 2\n");
                    break;
                } 
                if ((maiorA>=maiorB && menorA>=menorB && a<=b) ){
                    if ((maiorA==maiorB) && (menorA==menorB )&& (a==b)) printf("Penaltis\n");else printf("Time 1\n"); 
                }
                else{
                    if ((maiorA==maiorB) && (menorA==menorB )&& (a==b)){
                    printf("Penaltis\n");
                    }else{
                        printf("Time 2\n");     
                    }           
                }
            }
    }
    return 0;
    }
  • Guilherme Henrique Magalhães da Silva replied 5 years ago

    Alguém tem alguma dica? Lutei até onde pude e continua dando 10% de erro

    #include <stdio.h>
    int main() {
     int casos, contcasos, plac11, plac12, plac21, plac22, tim1, tim2, saldo1, saldo2;
        plac11 = 0;
        plac12 = 0;
        plac21 = 0;
        plac22 = 0;
        tim1 = 0;
        tim2 = 0;
        //n = 0;
        contcasos = 0;
        scanf("%d", &casos);
        for (contcasos = 0; contcasos < casos; contcasos++)//while (contcasos < casos)
        {
            //Define times vencedores da primeira partida
            //primeira partida
        scanf("%i X %i", &plac11, &plac12);
        scanf("&i X %i", &plac22, &plac21);
           if (plac11 > plac12)
            {
                tim1 += 3;
            }
            else if (plac12 > plac11)
            {
                tim2 += 3;
            }
            else if (plac11 == plac12)
            {
                tim1++;
                tim2++;
            }
            //segunda partida
            if (plac21 > plac22)
            {
                tim1 += 3;
            }
            else if (plac22 < plac21)
            {
                tim1 += 3;
            }
            else if (plac21 == plac22)
            {
                tim1++;
                tim2++;
            }
                    //  contcasos++;
        }
        if (tim1 > tim2)
        {
            printf("Time1\n");
        }
        else if (tim2 > tim1)
        {
            printf("Time2\n");
        }
        else if (tim1 == tim2)
        {
            saldo1 = plac11 + plac21;
            saldo2 = plac12 + plac22;
            if (saldo1 > saldo2)
            {
                printf("Time1\n");
            }
            else if (saldo2 > saldo1)
            {
                printf("Time2\n");
            }
            //analisa por numero de gols feitos na casa do adversário
            else if (plac21 > plac12)
            {
                printf("Time1\n");
            }
            else if (plac12 > plac21)
            {
                printf("Time2\n");
            }
            //impossivel definir resultados
            else if (plac11 == plac12 && plac21 == plac22)
            {
                printf("Penaltis\n");
            }
        }
        return 0;
    }
  • Old man replied 5 years ago

    flw. Att. Leoci Melo.

  • anderson luiz replied 5 years ago

    Ahhh ok ....vlw leocij...agora deu accepted =)

  • Old man replied 5 years ago

    M-Time1 x V-Time2 1 x 1 M-Time2 x V-Time1 2 x 2 Acima deu empate.

    Critério 2 = mais gols marcados na casa do adver.(CA). M-Time1 x V-Time2 1 x 1(CA) M-Time2 x V-Time1 2 x 2(CA)

    Conclusão: Time1 fez 2 gols na CA->Casa do Adversário. Time2 fez 1 gol na CA->Casa do Adversário.

    Então, parabéns ao Time1 que foi o vencedor desse mata-mata. hehehehe.

    Espero ter esclarecido a sua dúvida. Att. Leoci Melo.

  • anderson luiz replied 5 years ago

    Uma duvida nessa caso do exemplo....

    1 x 1 2 x 2

    Bora lá,como houve empate em ambos os jogos,então o saldo final de pontos ai seria time1 = 2 e time2 = 2...Aí partiriamos para as criteria....

    1) goal difference (number of goals for minus the number of goals against)

    Seria a diferenca final entre os gols feitos e os sofridos,certo? tipo time1 fez 3 gols no total e time2 fez 3 tb e ambos sofreram 3 gols tb? oq daria um empate nessa criteria tb....

    2) most goals scored in the away match and...

    total de gols feitos na ultima partida? tipo cada um fez 2,oq tb daria empate nessa criteria...ai so sobraria "Penaltis" como alternativa,mas a resposta é "Time 1"...clarify me please

  • Old man replied 5 years ago

    Você testou com a saída do uri?

    4
    1 x 1
    2 x 1
    2 x 0
    2 x 1
    1 x 1
    2 x 2
    3 x 1
    3 x 1

    Aqui gerou essa saída:

    Time 2
    Time 2
    Time 2
    Time 2

    E o certo seria:

    Time 2
    Time 1
    Time 1
    Penaltis

    Teste novamente.

    Espero ter ajudado. Att. Leoci Melo

  • Old man replied 5 years ago

    Não há disputas de penaltis, basta você imprimir a palavra "Penaltis", se não houver ganhador no tempo convencional.

  • anderson luiz replied 5 years ago

    Não entendi essa 3rd criteria Penalty Shootout....É como se fosse o saldo dos penaltis? Mas não informação nenhuma em relação aos penaltis =/

  • Emmanuel do Prado replied 5 years ago

    que há de errado com meu código, da 20% wrong answer

    #include <stdio.h>
    
    int main(){
        int casos,cont,pri=0,seg=0,ter=0,qua=0,a=0,b=0,c=0,d=0;
        scanf("%d",&casos);
       for(cont=0;cont<casos;cont++){
          scanf("%d x %d",&pri,&seg);
          if(pri>seg){
                a+=3;
            }
          else if(seg>pri) b+=3;
          else if (seg==pri){
            a+=1; 
            b+=1;
          } 
    
          scanf("%d x %d",&ter,&qua);
          if(qua>ter) a+=3;
          else if(ter>qua) b+=3;
          else if (qua==ter){
            a+=1; 
            b+=1;
          } 
          if(a>b) printf("Time 1\n");
          else if(b>a) printf("Time 2\n");
          else if(a==b){
             c=pri+qua;
             d=seg+ter;
    
             if(c>d) printf("Time 1\n");
             else if(c<d) printf("Time 2\n");
             else if(c==d) {
                if(seg>qua) printf("Time 2\n");
                else if(seg<qua) printf("Time 1\n");
                else if(seg==qua) printf("Penaltis\n");
             }
          }      
        }
    }
  • Gerson Groth replied 5 years ago

    Tua resposta para a entrada padrão está sendo essa:

    Time 2
    Time 2
    Time 1
    Time 2

    Preste atenção quando for usar if sem chaves. Você só pode ter uma operação. Se houverem mais operações, você deve usar chaves...

  • Santiago Soares replied 5 years ago

    Olá Onde está o erro, já revisei muitas vezes!!

    #include <stdio.h>
    
    int main(){
        int casos,cont,pri,seg,ter,qua,a,b,c,d;
        scanf("%d",&casos);
        for(cont=0;cont<casos;cont++){
            pri=0;
            seg=0;
            ter=0;
            qua=0;
            a=0;
            b=0;
            c=0;
            d=0;
            scanf("%d x %d",&pri,&seg);
            if(pri>seg) a+=3;
            else if(seg>pri) b+=3;
            else if (seg==pri) a+=1; b+=1;
    
            scanf("%d x %d",&ter,&qua);
            if(qua>ter) a+=3;
            else if(ter>qua) b+=3;
            else if (qua==ter) a+=1; b+=1;
    
            if(a>b) printf("Time 1\n");
            else if(b>a) printf("Time 2\n");
            else if(a==b){
                c=pri+qua;
                d=seg+ter;
    
                if(c>d) printf("Time 1\n");
                else if(c<d) printf("Time 2\n");
                else if(c==d) {
                    if(seg>qua) printf("Time 2\n");
                    else if(seg<qua) printf("Time 1\n");
                    else if(seg==qua) printf("Penaltis\n");
                }
            }
  • Diego 2.0 replied 5 years ago

    Alguém pode me dizer o que está errado estou tendo WA 10%

    Problema resolvido! Precisei reescrever o código, pois estava ignorando o saldo de gols.
  • Unknown replied 6 years ago

    Não sei o porque, mas o codigo está dando 10% de erro..

    #include <stdio.h>
    main()
    {
        int N,M,V,M1,V1,t1=0,t2=0,t1adv=0,t2adv=0,t1g=0,t2g=0,g=0;
        char l;
        scanf("%d",&N);
        for(int j=0;j<N;j++){
            scanf("%d %c %d",&M,&l,&V); 
            scanf("%d %c %d",&V1,&l,&M1);
            if(M==V1&&V==M1){
                printf("Penaltis\n");
    
            }else{
            if(M==V){
                t1++;
                t2++;
                t1g=t1g+M;
                t2g=t2g+V;
                t2adv=V;
            }
            if(M>V){
                t1=t1+3;
                t1g=t1g+M;
                t2g=t2g+V;
                t2adv=V;
            }
            if(M<V){
                t2=t2+3;
                t1g=t1g+M;
                t2g=t2g+V;
                t2adv=V;
            }
            if(V1==M1){
                t1++;
                t2++;
                t1g=t1g+M;
                t2g=t2g+V;
                t1adv=M1;
            }
            if(V1>M1){
                t2=t2+3;
                t1g=t1g+M;
                t2g=t2g+V;
                t1adv=M1;
            }
            if(V1<M1){
                t1=t1+3;
                t1g=t1g+M;
                t2g=t2g+V;
                t1adv=M1;
            }
            if(t1>t2){
                printf("Time 1\n");
            }
            if(t2>t1){
                printf("Time 2\n");
            }
            if(t1==t2){
                if(t1g>t2g){
                    printf("Time 1\n");
    
                }
                if(t1g<t2g){
                    printf("Time 2\n");
    
                }
                if(t1g==t2g){
                    if(t1adv>t2adv){
                        printf("Time 1\n");
    
                    }
                    if(t1adv<t2adv){
                        printf("Time 2\n");
    
                    }
                    if(t1adv==t2adv){
                    printf("Penaltis\n"); 
                    }
                }
            }
            t1=0;
            t2=0;
            t1adv=0;
            t2adv=0;
            t1g=0;
            t2g=0;
            g=0;
            }
        }   
        }

    Alguem pode me ajuda, por favor?