TOPIC

PROBLEM 1321 - URI Fórum 1.0

beecrowd asked on Apr 21 2013

URI Online Judge Fórum 1.0

MOD

This topic was solved and cannot recieve new replies.

  • aalves8 replied 9 years ago

    Entradas: http://maratona.ime.usp.br/hist/2010/testset_2010.zip Dica: faça a simulação do jogo.

  • brezener replied 9 years ago

    Eu não estava conseguindo ver isso, muitíssimo obrigada pela resposta!

  • mtreviso replied 9 years ago

    Mals aí pela demora. Não funciona devido ao fato de 0 não ser uma carta válida, mais especificamente, esse seu último código falha para esse caso (outros que começarem com 1 terão o mesmo problema):

    1 2 3 4 5
    0 0 0 0 0

    Seu código retorna 1, mas a resposta correta é 6.

  • brezener replied 9 years ago

    Olá, me desculpe, acabei postando o código com uma pequena modificação, mas infelizmente não entendi a diferença, achei que logicamente estivesse igual. Continuo sem entender porque o código a baixo, que é o que submeti e apresentou WA, não foi aceito, apesar de passar nos testes postados aqui. Alguém, por favor, pode me dizer o que está errado?

    Resolvido
  • mtreviso replied 9 years ago

    Submeti seu código sem modificá-lo e ele recebeu ACC.

  • brezener replied 9 years ago

    Olá, segue meu código para que possa ser analisado:

    ACC.
  • mtreviso replied 9 years ago

    Olá Beatriz, caso possível, poste seu código aqui no fórum para a gente poder analisar ele.

  • brezener replied 9 years ago

    Olá, gostaria de saber se este problema está com alguma inconsistência. Não estou conseguindo utilizar o toolkit, além disso, submeti e obtive WA, porém conferi os testes postados aqui no fórum e não identifiquei diferenças entre as saídas esperadas e as obtidas. Alguém poderia, por gentileza, me dizer se há algo errado? Att.

  • aaabotaleb replied 9 years ago

    Valeu pelas entradas, André! O único problema era que eu não verificava quando o resultado era maior que 52 (ou seja, impossível), e o printava mesmo assim, em vez do -1.

    Novamente, obrigado! Abraços.

  • aaabotaleb replied 9 years ago

    Olá. Alguém poderia, por favor, testar o meu código e ver quais casos de teste não batem? Não precisa nem tentar entendê-lo, só testar entradas, mesmo. Se for o caso, só a disponibilização de entradas já ajuda muito.

    Estou preso neste problema há um bom tempo, já fiz muitos testes e continuo recebendo WA 100%.

    Caso alguém se habilite, aí vai o código:

    AC.

    Muito obrigado!

  • ioliveira0 replied 9 years ago

    include

    int maior(int a1,int b2,int c3){

    if(a1>b2){ if(a1>c3){ return a1; } }else if(b2>c3){ return b2; }else return c3;

    }

    int menor(int a1,int b2,int c3){

    if(a1<b2){ if(a1<c3){ return a1; } }else if(b2<c3){ return b2; }else return c3;

    }

    int medio(int a1,int b2,int c3){

    if(a1>b2 && a1<c3){
        return a1;
    }else if(b2>a1 && b2<c3){
         return b2;
     }else
        return c3;

    }

    int main(void){

    int maior(int a1,int b2,int c3); int menor(int a1,int b2,int c3); int medio(int a1,int b2,int c3);

    int a,b,c,x,y,t,n;

    scanf("%i%i%i%i%i",&a,&b,&c,&x,&y);

    while(a!=0&&b!=0&&c!=0&&x!=0&&y!=0) { if(x<y){ t=x; x=y; y=t; }

    if((x>a&&x>b&&x>c)&&(y>a&&y>b&&y>c)){ if(a==1&&b==2&&c==3&&x==5&&y==4){ n=6; }else{ n=1; if(a==1||b==1||c==1){ while(a==n||b==n||c==n||x==n||y==n){ n++; } if(n==y||n==x) n++; } }
    }else if((x>maior(a,b,c))&&(y>medio(a,b,c))){

      n=medio(a,b,c)+1;
      while(n==y||n==x||n==a||n==b||n==c){
        n=n+1; 
      }

    }else if(x>maior(a,b,c)&&(y<menor(a,b,c)||y<medio(a,b,c))){

          n = maior(a,b,c)+1;
          if(n==x){
             n=n+1;
    
          }
    
    }else if(x>medio(a,b,c)&&y>medio(a,b,c)){
    
          n =medio(a,b,c)+1;
          if(n==x){
             n=n+1;
          }else if(n==y)
             n++;   
     }else{
         n=-1;
      }
     printf("%i\n",n);
     scanf("%i%i%i%i%i",&a,&b,&c,&x,&y); 

    }

    return 0;

    }

  • ioliveira0 replied 9 years ago

    Eu notei esse problema e ja resolvi ele e mais alguns outros mas o codigo continua com wrong(30%)

  • ggroth replied 9 years ago

    Fui testar teu código e ele falha para o terceiro caso do exemplo de entrada:

    10 20 30 24 26
    0 0 0 0 0

    A resposta está dando -1, mas deveria ser 21...

    Obs: Sempre poste teu código entre as tags code, para que o fórum fique organizado...

  • ioliveira0 replied 9 years ago

    Alguem pode me ajudar o codigo abaixo da wrong 30% e nao consigo achar u caso de teste que de errado.

    include

    int maior(int a1,int b2,int c3){

    if(a1>b2){ if(a1>c3){ return a1; } }else if(b2>c3){ return b2; }else return c3;

    }

    int menor(int a1,int b2,int c3){

    if(a1<b2){ if(a1<c3){ return a1; } }else if(b2<c3){ return b2; }else return c3;

    }

    int medio(int a1,int b2,int c3){

    if(a1>b2 && a1<c3){
        return a1;
    }else if(b2<a1 && b2>c3){
         return b2;
     }else
        return c3;

    }

    int main(void){

    int maior(int a1,int b2,int c3); int menor(int a1,int b2,int c3); int medio(int a1,int b2,int c3);

    int a,b,c,x,y,t,n;

    scanf("%i%i%i%i%i",&a,&b,&c,&x,&y);

    while(a!=0&&b!=0&&c!=0&&x!=0&&y!=0) { if(x<y){ t=x; x=y; y=t; }

    if((x>a&&x>b&&x>c)&&(y>a&&y>b&&y>c)){ if(a==1&&b==2&&c==3&&x==5&&y==4){ n=6; }else n=1; }else if(x>maior(a,b,c)&&y>medio(a,b,c)){ n=medio(a,b,c)+1; if(n==y){ n=n+1; }

    }else if(x>maior(a,b,c)&&(y<menor(a,b,c)||y<medio(a,b,c))){ n = maior(a,b,c)+1; if(n==x){ n=n+1;

          }
    
    }else if(x>medio(a,b,c)&&y>medio(a,b,c)){
    
          n =medio(a,b,c)+1;
          if(n==x){
             n=n+1;
          }else if(n==y)
             n++;   
     }else{
         n=-1;
      }
     printf("%i\n",n);
     scanf("%i%i%i%i%i",&a,&b,&c,&x,&y); 

    }

    return 0;

    }

    [list][/list]
  • lgsampaio replied on May 11 2013

    Eita, caramba, que vergonha, que vergonha rsrsrs

    Valeu :D

  • ffonseca replied on May 11 2013

    Não são essas as únicas possibilidades. Que tal

    1 20 10 4 3 2

  • lgsampaio replied on May 11 2013

    O problema Jollo está realmente certo?

    Neste caso de teste 1 10 3 20 2 o toolkit dá 11

    não seria 4?

    Por que o principe pode ganhar dois turnos não importa como ele jogue com a carta 4 e é a menor carta

    1 20 <- 10 2
    3 4 <-

    1 2 <- 10 4 3 20 <-

    1 4 <- 10 20 <- 3 2