TOPIC

PROBLEM 1828 - URI Fórum 1.0

URI Online Judge asked 5 years ago

URI Online Judge Fórum 1.0

MOD

This topic was solved and cannot recieve new replies.

  • Unknown replied 4 years ago

    Só pra informar o pessoal que tá sofrendo com o problema. Não li nenhum código acima, mas vou supor que vocês estão tendo os resultados corretos para cada jogada. O pulo do gato, porém, se encontra, mais uma vez, numa parte mal explicada por parte do UOJ: o caso é numerado conforme o número de testes, ou seja, não é só caso 1, 2 ou 3, é para cada caso testado, um numero diferente. Por exemplo: suponha que vc digitou 10, e, nesse caso, o programa avaliará 10 casos, supondo que no último caso Sheldon ganhe, a saída teria de ser "Caso #10: Bazinga!". A chave desse problema tá na numeração do caso (ou ao menos o foi para mim). Espero ter ajudado.

  • Unknown replied 4 years ago

    Executei para o Exemplo de Entrada, e o resultado foi diferente do Exemplo de Saída.

    Revise os nomes das opções que cada jogador pode escolher.

  • strongrc replied 4 years ago

    ta dando 100% de erro alguem sabe o pq?

    n=int(input())
    for n in range(1, n+1):
        ent1, ent2=input().split()
        ent1, ent2= str(ent1), str(ent2)
    
        if ent1 == 'tesoura' and ent2 == 'papel':
            print("Caso #{}: Bazinga!".format(n))
        if ent1 == 'papel' and ent2 == 'tesoura':
            print("Caso #{}: Raj trapaceou!".format(n))
        if ent1 == 'papel' and ent2 == 'pedra':
            print("Caso #{}: Bazinga!".format(n))
        if ent1 == 'pedra' and ent2 == 'papel':
            print("Caso #{}: Raj trapaceou!".format(n))
        if ent1 == 'pedra' and ent2 == 'largarto':
            print("Caso #{}: Bazinga!".format(n))
        if ent1 == 'largarto' and ent2 == 'pedra':
            print("Caso #{}: Raj trapaceou!".format(n))
        if ent1 == 'largarto' and ent2 == 'Spock':
            print("Caso #{}: Bazinga!".format(n))
        if ent1 == 'Spock' and ent2 == 'largarto':
            print("Caso #{}: Raj trapaceou!".format(n))
        if ent1 == 'Spock' and ent2 == 'tesoura':
            print("Caso #{}: Bazinga!".format(n))
        if ent1 == 'tesoura' and ent2 == 'Spock':
            print("Caso #{}: Raj trapaceou!".format(n))
        if ent1 == 'tesoura' and ent2 == 'largarto':
            print("Caso #{}: Bazinga!".format(n))
        if ent1 == 'largarto' and ent2 == 'tesoura':
            print("Caso #{}: Raj trapaceou!".format(n))
        if ent1 == 'largarto' and ent2 == 'papel':
            print("Caso #{}: Bazinga!".format(n))
        if ent1 == 'papel' and ent2 == 'largarto':
            print("Caso #{}: Raj trapaceou!".format(n))
        if ent1 == 'papel' and ent2 == 'Spock':
            print("Caso #{}: Bazinga!".format(n))
        if ent1 == 'Spock' and ent2 == 'papel':
            print("Caso #{}: Raj trapaceou!".format(n))
        if ent1 == 'Spock' and ent2 == 'pedra':
            print("Caso #{}: Bazinga!".format(n))
        if ent1 == 'pedra' and ent2 == 'Spock':
            print("Caso #{}: Raj trapaceou!".format(n))
        if ent1 == 'pedra' and ent2 == 'tesoura':
            print("Caso #{}: Bazinga!".format(n))
        if ent1 == 'tesoura' and ent2 == 'pedra':
            print("Caso #{}: Raj trapaceou!".format(n))
        if ent1 == ent2:
            print("Caso #{}: De novo!".format(n))
  • Unknown replied 4 years ago

    Just to illuminate the general population who're experiencing the issue. I have not read any code above, but rather I will expect that you are taking the right results for every move. The trap, be that as it may, is once more, to a limited extent ineffectively clarified by the UOJ: the case is numbered by number of tests, ie, it is not just the case 1, 2 or 3, is for every situation tried, an alternate number. For instance, assume that u entered 10, and for this situation the program will assess case 10, accepting the last case Sheldon pick up, the yield would be "Case # 10: Bazinga". The way to this problem're in the event of numbering (or if nothing else it was for me). I have made a difference.

  • Unknown replied 4 years ago

    Código aceito. Muito Obrigado pela explicação!

  • Unknown replied 4 years ago

    Você deve sempre alocar um byte a mais para strings.

    Strings em C terminam com um byte extra, de valor zero. Para alocar uma string que contenha a palavra "tesoura" ou "lagarto", ambas de sete letras, você precisa de pelo menos oito bytes. Dependendo do compilador, e das configurações de alinhamento de bytes, se não reservar esse espaço extra para o terminador ('\0'), pode acabar sobrescrevendo na memória os valores de outras variáveis, ou mesmo da lógica do programa. Ou não encontrará o terminador de string, o que poderá causar uma resposta errada em strcmp.

    [size=150:21z9ualr]Ilustrando[/size:21z9ualr]

    O compilador alinhou byte a byte as variáveis. Ao ser executado, o programa alocou espaço para as variáveis S e R na memória assim: ?????????????? (exibindo como interrogações, pois como não foram inicializados os vetores, não temos certeza de seu conteúdo)

    A entrada foi:

    tesoura papel

    Ao ler a primeira string, o scanf fará isso: tesoura\0??????

    E lendo a segunda string: tesourapapel\0?

    Repare que S ficou totalmente preenchido, sem o byte-terminador (que estava na área reservada para R, e foi perdido quando R recebeu valores. Portanto, strcmp irá comparar "tesourapapel" com "tesoura" (diferentes!), e "papel" com "papel" (semelhantes).

  • Unknown replied 4 years ago

    Alguém sabe responder se quando a saída é "De novo!"(no caso de empate) será necessário mais uma jogada, independente da quantidade de casos de teste definidos no primeiro 'scanf'? Devo testar se as strings foram digitadas corretamente? Já revisei o código várias vezes e continua dando WA. Segue abaixo o código:

    #include <stdio.h>
    #include <string.h>
    
    void b(){printf("Bazinga!\n");}
    void r(){printf("Raj trapaceou!\n");}
    int main() {
        char S[7],R[7];
        int c=0,t;
        scanf("%d",&t);
        if(t<1||t>100) return main();
        else {
            while(t>0) {
                --t;
                scanf("%s %s",S,R);
                printf("Caso #%d: ",++c);
                if(strcmp(S,R)==0) printf("De novo!\n");
                else if(strcmp(S,"tesoura")==0&&strcmp(R,"papel")==0) b();
                else if(strcmp(R,"tesoura")==0&&strcmp(S,"papel")==0) r();
                else if(strcmp(S,"papel")==0&&strcmp(R,"pedra")==0) b();
                else if(strcmp(R,"papel")==0&&strcmp(S,"pedra")==0) r();
                else if(strcmp(S,"pedra")==0&&strcmp(R,"lagarto")==0) b();
                else if(strcmp(R,"pedra")==0&&strcmp(S,"lagarto")==0) r();
                else if(strcmp(S,"lagarto")==0&&strcmp(R,"Spock")==0) b();
                else if(strcmp(R,"lagarto")==0&&strcmp(S,"Spock")==0) r();
                else if(strcmp(S,"Spock")==0&&strcmp(R,"tesoura")==0) b();
                else if(strcmp(R,"Spock")==0&&strcmp(S,"tesoura")==0) r();
                else if(strcmp(S,"tesoura")==0&&strcmp(R,"lagarto")==0) b();
                else if(strcmp(R,"tesoura")==0&&strcmp(S,"lagarto")==0) r();
                else if(strcmp(S,"lagarto")==0&&strcmp(R,"papel")==0) b();
                else if(strcmp(R,"lagarto")==0&&strcmp(S,"papel")==0) r();
                else if(strcmp(S,"papel")==0&&strcmp(R,"Spock")==0) b();
                else if(strcmp(R,"papel")==0&&strcmp(S,"Spock")==0) r();
                else if(strcmp(S,"Spock")==0&&strcmp(R,"pedra")==0) b();
                else if(strcmp(R,"Spock")==0&&strcmp(S,"pedra")==0) r();
                else if(strcmp(S,"pedra")==0&&strcmp(R,"tesoura")==0) b();
                else if(strcmp(R,"pedra")==0&&strcmp(S,"tesoura")==0) r();
            }
        }
        return 0;
    }
  • José Ricardo Bettini Pacola replied 4 years ago

    Realmente eu havia interpretado errado. Eu deveria ter colocado para o usuário digitar o numero de casos de testes.

    Agora deu certo.

  • José Ricardo Bettini Pacola replied 4 years ago

    Estava fazendo em C mas sempre dava a"Wrong answer". Depois de algum tempo estou de volta. Agora estou tentando em java. Aqui deu tudo certo, mas quando submeto aparece "Runtime error". Se alguém puder, me ajude!!!! Obrigado.

    import java.io.IOException;
    import java.util.Scanner;
    
    /**
     * IMPORTANT: 
     *      O nome da classe deve ser "Main" para que a sua solução execute
     *      Class name must be "Main" for your solution to execute
     *      El nombre de la clase debe ser "Main" para que su solución ejecutar
     */
    public class Main {
    
        private static Scanner teclado;
    
        public static void main(String[] args) throws IOException {
     teclado = new Scanner(System.in);
                String resposta,texto;
                String opcao[] = new String[2];
    
                for(int i=1;i<=100;i++){
                    texto=teclado.nextLine();
                    opcao=texto.split(" ");
    
                    if(opcao[0].equals(opcao[1])){
                        resposta="De novo!";
                        System.out.println("Caso #"+i+": "+resposta );
                    }
                    else if(opcao[0].equals("tesoura")){
                            if(opcao[1].equals("papel") || opcao[1].equals("lagarto")){
                                resposta="Bazinga!";
                            }else{
                                resposta="Raj trapaceou!";
                            }
                            System.out.println("Caso #"+i+": "+resposta );
                    }
                    else if(opcao[0].equals("papel")){
                            if(opcao[1].equals("pedra")||opcao[1].equals("Spock")){
                                resposta="Bazinga!";
                            }else{
                                resposta="Raj trapaceou!";
                            }
                            System.out.println("Caso #"+i+": "+resposta );                  
                    }
                    else if(opcao[0].equals("pedra")){
                            if(opcao[1].equals("lagarto")||opcao[1].equals("tesoura")){
                                resposta="Bazinga!";
                            }else{
                                resposta="Raj trapaceou!";
                            }
                            System.out.println("Caso #"+i+": "+resposta );
                    }
                    else if(opcao[0].equals("lagarto")){
                        if(opcao[1].equals("Spock")||opcao[1].equals("papel")){
                            resposta="Bazinga!";
                        }else{
                            resposta="Raj trapaceou!";
                        }
                        System.out.println("Caso #"+i+": "+resposta );
                    }
                    else if(opcao[0].equals("Spock")){
                        if(opcao[1].equals("tesoura")||opcao[1].equals("pedra")){
                            resposta="Bazinga!";
                        }else{
                            resposta="Raj trapaceou!";
                        }
                        System.out.println("Caso #"+i+": "+resposta );
                    }
                }//for
    
        }
    
    }
  • Nícolas Dellazzeri (IFSul Charqueadas) replied 4 years ago

    Alguem sabe o erro?

    x = Integer(gets.chomp)
    
    for i in 1..x
        t = gets.chomp
        sh = t.split(" ")
        sh[0].downcase!
        sh[1].downcase!
    
        if sh[0] == "tesoura" && sh[1] == "papel"
            print "Caso ##{i}: Bazinga!\n"
        elsif sh[0] == "papel" && sh[1] == "tesoura"
            print "Caso ##{i}: Raj trapaceou!\n"
    
        elsif sh[0] == "papel" && sh[1] == "pedra"
            print "Caso ##{i}: Bazinga!\n"
        elsif sh[0] == "pedra" && sh[1] == "papel"
            print "Caso ##{i}: Raj trapaceou!\n"
    
        elsif sh[0] == "tesoura" && sh[1] == "papel"
            print "Caso ##{i}: Bazinga!\n"
        elsif sh[0] == "papel" && sh[1] == "tesoura"
            print "Caso ##{i}: Raj trapaceou!\n"
    
        elsif sh[0] == "lagarto" && sh[1] == "spock"
            print "Caso ##{i}: Bazinga!\n"
        elsif sh[0] == "spock" && sh[1] == "lagarto"
            print "Caso ##{i}: Raj trapaceou!\n"
    
        elsif sh[0] == "spock" && sh[1] == "tesoura"
            print "Caso ##{i}: Bazinga!\n"
        elsif sh[0] == "tesoura" && sh[1] == "spock"
            print "Caso ##{i}: Raj trapaceou!\n"
    
        elsif sh[0] == "tesoura" && sh[1] == "lagarto"
            print "Caso ##{i}: Bazinga!\n"
        elsif sh[0] == "lagarto" && sh[1] == "tesoura"
            print "Caso ##{i}: Raj trapaceou!\n"
    
        elsif sh[0] == "lagarto" && sh[1] == "papel"
            print "Caso ##{i}: Bazinga!\n"
        elsif sh[0] == "papel" && sh[1] == "lagarto"
            print "Caso ##{i}: Raj trapaceou!\n"
    
        elsif sh[0] == "papel" && sh[1] == "spock"
            print "Caso ##{i}: Bazinga!\n"
        elsif sh[0] == "spock" && sh[1] == "papel"
            print "Caso ##{i}: Raj trapaceou!\n"
    
        elsif sh[0] == "spock" && sh[1] == "pedra"
            print "Caso ##{i}: Bazinga!\n"
        elsif sh[0] == "pedra" && sh[1] == "spock"
            print "Caso ##{i}: Raj trapaceou!\n"
    
        elsif sh[0] == "pedra" && sh[1] == "tesoura"
            print "Caso ##{i}: Bazinga!\n"
        elsif sh[0] == "tesoura" && sh[1] == "pedra"
            print "Caso ##{i}: Raj trapaceou!\n"
    
        elsif sh[0] == sh[1]
            print "Caso ##{i}: De novo!\n"
    
        end
        end
  • willian oliveira pires replied 4 years ago

    [quote="alamiro"]preciso de ajuda pois estou tento wrong answer 10% e não estou achando.

    #include <stdio.h>
    #include <string.h>
    
    int main(){
    
       char a[20], b[20];
       int y, i=0;
    
       scanf("%d", &y);
    
       while(y>i){
        scanf("%s %s", a, b);
           if(strcmp(a,"tesoura")==0 && strcmp(b,"papel")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"papel")==0 && strcmp(b,"tesoura")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"papel")==0 && strcmp(b,"pedra")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"pedra")==0 && strcmp(b,"papel")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"lagarto")==0 && strcmp(b,"pedra")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"pedra")==0 && strcmp(b,"lagarto")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"lagarto")==0 && strcmp(b,"Spock")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"Spock")==0 && strcmp(b,"lagarto")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"Spock")==0 && strcmp(b,"tesoura")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"tesoura")==0 && strcmp(b,"Spock")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"tesoura")==0 && strcmp(b,"lagarto")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"lagarto")==0 && strcmp(b,"tesoura")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"lagarto")==0 && strcmp(b,"papel")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"papel")==0 && strcmp(b,"lagarto")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"Spock")==0 && strcmp(b,"papel")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"papel")==0 && strcmp(b,"Spock")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"Spock")==0 && strcmp(b,"papel")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"Spock")==0 && strcmp(b,"pedra")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"pedra")==0 && strcmp(b,"Spock")==0){
            printf("Caso #%d: Raj trapaceou\n!", i+1);
           }else if(strcmp(a,"tesoura")==0 && strcmp(b,"pedra")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"pedra")==0 && strcmp(b,"tesoura")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else{
             printf("Caso #%d: De novo!\n", i+1);  
             }
    
          i++;   
         }
    
    }

    Nesta linha, o printf esta errado else if(strcmp(a,"pedra")==0 && strcmp(b,"Spock")==0){ printf("Caso #%d: Raj trapaceou\n!", i+1);[/]

  • Guilherme Moraes replied 5 years ago

    [code]Bom dia

    Ao resolver o exercício recebi WA de 30%. Porém ao realizar testes no toolkit da questão notei erros de lógica descritos abaixo:

    ENTRADA: 1 abc abc SAÍDA: Caso #1: De novo!

    ENTRADA: 1 abc cda SAÍDA: Caso #1: Raj trapaceou!

    Segue abaixo meu código, caso encontre algum erro favor comentar. Desde já agradeço.

    include

    using namespace std;

    int main() {

    int teste;
    string sheldon, raj;
    string r;
    
    cin>>teste;
    for(int i=0;i<teste;i++){
        cin>> sheldon >>raj;
        if((sheldon == "tesoura" && raj == "papel") || (sheldon == "tesoura" && raj == "lagarto")||(sheldon == "pedra" &&                raj == "lagarto") || (sheldon == "pedra" && raj == "tesoura") || (sheldon == "papel" && raj == "pedra") || (sheldon == "papel" && raj == "spock") || (sheldon == "spock" && raj == "tesoura")|| (sheldon == "spock" && raj == "pedra")|| (sheldon == "lagarto" && raj == "spock")|| (sheldon == "lagarto" && raj == "papel")){
            r= "Bazinga!";
            cout<<"Caso #"<<i+1<<": "<<r<<endl;
    
        }
        else if((raj == "tesoura" && sheldon == "papel") || (raj == "tesoura" && sheldon == "lagarto")||(raj == "pedra" && sheldon == "lagarto") || (raj == "pedra" && sheldon == "tesoura") || (raj == "papel" && sheldon == "pedra") || (raj == "papel" && sheldon == "spock") || (raj == "spock" && sheldon == "tesoura")|| (raj == "spock" && sheldon == "pedra")|| (raj == "lagarto" && sheldon == "spock")|| (raj == "lagarto" && sheldon  == "papel")){
            r= "Raj trapaceou!";
            cout<<"Caso #"<<i+1<<": "<<r<<endl;
        }
        else if ((sheldon == "papel" && raj == "papel") || (sheldon == "pedra" && raj == "pedra") || (sheldon == "tesoura" && raj == "tesoura") || (sheldon == "spock" && raj == "spock")|| (sheldon == "lagarto" && raj == "lagarto")){
            r="De novo!";
            cout<<"Caso #"<<i+1<<": "<<r<<endl;
        }
    }
    return 0;

    }

  • Gabriel Alamiro replied 5 years ago

    preciso de ajuda pois estou tento wrong answer 10% e não estou achando.

    #include <stdio.h>
    #include <string.h>
    
    int main(){
    
       char a[20], b[20];
       int y, i=0;
    
       scanf("%d", &y);
    
       while(y>i){
        scanf("%s %s", a, b);
           if(strcmp(a,"tesoura")==0 && strcmp(b,"papel")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"papel")==0 && strcmp(b,"tesoura")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"papel")==0 && strcmp(b,"pedra")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"pedra")==0 && strcmp(b,"papel")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"lagarto")==0 && strcmp(b,"pedra")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"pedra")==0 && strcmp(b,"lagarto")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"lagarto")==0 && strcmp(b,"Spock")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"Spock")==0 && strcmp(b,"lagarto")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"Spock")==0 && strcmp(b,"tesoura")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"tesoura")==0 && strcmp(b,"Spock")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"tesoura")==0 && strcmp(b,"lagarto")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"lagarto")==0 && strcmp(b,"tesoura")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"lagarto")==0 && strcmp(b,"papel")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"papel")==0 && strcmp(b,"lagarto")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"Spock")==0 && strcmp(b,"papel")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"papel")==0 && strcmp(b,"Spock")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"Spock")==0 && strcmp(b,"papel")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"Spock")==0 && strcmp(b,"pedra")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else if(strcmp(a,"pedra")==0 && strcmp(b,"Spock")==0){
            printf("Caso #%d: Raj trapaceou\n!", i+1);
           }else if(strcmp(a,"tesoura")==0 && strcmp(b,"pedra")==0){
            printf("Caso #%d: Raj trapaceou!\n", i+1);
           }else if(strcmp(a,"pedra")==0 && strcmp(b,"tesoura")==0){
            printf("Caso #%d: Bazinga!\n", i+1);
           }else{
             printf("Caso #%d: De novo!\n", i+1);  
             }
    
          i++;   
         }
    
    }
  • Daniel dos Santos replied 5 years ago

    include include

    using namespace std;

    int main() { //1 = BAZINGA! //2 = Raj Trapaceou! //3 = De Novo! string sheldon, raj; int resultados[100],t; cin>>t; for(int i=0; i<t; i++){ cin>>sheldon>>raj; if(sheldon == raj){ resultados[i]=3; } else{ if(sheldon == "tesoura"){ if(raj == "papel" or raj == "largato"){ resultados[i]=1; } else{ resultados[i]=2; } } else if(sheldon == "papel"){ if(raj == "pedra" or raj == "Spock"){ resultados[i]=1; } else{ resultados[i]=2; } } else if(sheldon == "pedra"){ if(raj == "largato" or raj == "tesoura"){ resultados[i]=1; } else{ resultados[i]=2; } } else if(sheldon == "largato"){ if(raj == "Spock" or raj == "papel"){ resultados[i]=1; } else{ resultados[i]=2; } } else if(sheldon == "Spock"){ if(raj == "tesoura" or raj == "pedra"){ resultados[i]=1; } else{ resultados[i]=2; } } } }

    for(int i=0; i<t; i++){
        cout<<"Caso #"<<i+1<<": ";
        switch (resultados[i]){
            case 1:
                cout<<"Bazinga!\n";
                 break;
            case 2:
                cout<<"Raj trapaceou!\n";
                break;
            case 3:
                cout<<"De novo!\n";
                break;
        }
    }
    
    return 0;

    }

    OQUE TEM DE ERRADO COM MEU CODIGO PQ DA WRONG ANSWER (20%)

  • Mateus Azevedo Felix de OLiveira replied 5 years ago

    Gostaria de saber qual é problema neste código. Todas as saídas estão saindo como está pedindo. Porem sempre recebo WA. Agredecido. Código abaixo:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main(int argc, char *argv[]) {
        char sheldon[50], raj[50];
        char t[8] = "tesoura";
        char p[6] = "pedra";
        char pa[6] = "papel";
        char l[7] = "lagarto";
        char s[6] = "Spock";
        int x=1, num;
        scanf("%d", &num);
        while(x<=num){
        scanf("%s %s",&sheldon,&raj);
    
        if(strcmp(sheldon,raj)==0)
            printf("Caso #%d: De novo!\n",x);
        else
            if((strcmp(sheldon,t)==0 && strcmp(raj,pa)==0) || (strcmp(sheldon,pa)==0 && strcmp(raj,t)==0)){
                    if(strcmp(sheldon,t)==0 && strcmp(raj,pa)==0)
                        printf("Caso #%d: Bazinga!\n",x);
                    else
                        printf("Caso #%d: Raj trapaceou!\n",x);
            }
    
            if((strcmp(sheldon,pa)==0 && strcmp(raj,p)==0) || (strcmp(sheldon,p)==0 && strcmp(raj,pa)==0)){
                    if(strcmp(sheldon,pa)==0 && strcmp(raj,p)==0)
                        printf("Caso #%d: Bazinga!\n",x);
                    else
                        printf("Caso #%d: Raj trapaceou!\n",x);
            }
    
            if((strcmp(sheldon,p)==0 && strcmp(raj,l)==0) || (strcmp(sheldon,l)==0 && strcmp(raj,p)==0)){
                    if(strcmp(sheldon,p)==0 && strcmp(raj,l)==0)
                        printf("Caso #%d: Bazinga!\n",x);
                    else
                        printf("Caso #%d: Raj trapaceou!\n",x);
            }
    
            if((strcmp(sheldon,l)==0 && strcmp(raj,s)==0) || (strcmp(sheldon,s)==0 && strcmp(raj,l)==0)){
                    if(strcmp(sheldon,l)==0 && strcmp(raj,s)==0)
                        printf("Caso #%d: Bazinga!\n",x);
                    else
                        printf("Caso #%d: Raj trapaceou!\n",x);
            }   
    
            if((strcmp(sheldon,s)==0 && strcmp(raj,t)==0) || (strcmp(sheldon,t)==0 && strcmp(raj,s)==0)){
                    if(strcmp(sheldon,s)==0 && strcmp(raj,t)==0)
                        printf("Caso #%d: Bazinga!\n",x);
                    else
                        printf("Caso #%d: Raj trapaceou!\n",x);
            }   
    
            if((strcmp(sheldon,t)==0 && strcmp(raj,l)==0) || (strcmp(sheldon,l)==0 && strcmp(raj,t)==0)){
                    if(strcmp(sheldon,t)==0 && strcmp(raj,l)==0)
                        printf("Caso #%d: Bazinga!\n",x);
                    else
                        printf("Caso #%d: Raj trapaceou!\n",x);
            }
    
            if((strcmp(sheldon,l)==0 && strcmp(raj,pa)==0) || (strcmp(sheldon,pa)==0 && strcmp(raj,l)==0)){
                    if(strcmp(sheldon,l)==0 && strcmp(raj,pa)==0)
                        printf("Caso #%d: Bazinga!\n",x);
                    else
                        printf("Caso #%d: Raj trapaceou!\n",x);
            }
    
            if((strcmp(sheldon,pa)==0 && strcmp(raj,s)==0) || (strcmp(sheldon,s)==0 && strcmp(raj,pa)==0)){
                    if(strcmp(sheldon,pa)==0 && strcmp(raj,s)==0)
                        printf("Caso #%d: Bazinga!\n",x);
                    else
                        printf("Caso #%d: Raj trapaceou!\n",x);
            }
    
            if((strcmp(sheldon,s)==0 && strcmp(raj,p)==0) || (strcmp(sheldon,p)==0 && strcmp(raj,s)==0)){
                    if(strcmp(sheldon,s)==0 && strcmp(raj,p)==0)
                        printf("Caso #%d: Bazinga!\n",x);
                    else
                        printf("Caso #%d: Raj trapaceou!\n",x);
            }
    
            if((strcmp(sheldon,p)==0 && strcmp(raj,t)==0) || (strcmp(sheldon,t)==0 && strcmp(raj,p)==0)){
                    if(strcmp(sheldon,p)==0 && strcmp(raj,t)==0)
                        printf("Caso #%d: Bazinga!\n",x);
                    else
                        printf("Caso #%d: Raj trapaceou!\n",x);
            }
            x++;
        }
        return 0;
    }
  • Fake Programmer replied 5 years ago

    My fav one so far ^^

  • ricardoabrasil replied 5 years ago

    Estou tendo problemas, o meu codigo gera todas as saidas testadas.. o.O

    http://pastebin.com/M6dHXyk0

    Diz que deu erro na saida o.O alguem me ajuda.

  • Alexandre Henrique Afonso Campos replied 5 years ago

    Sem nenhum if, em Java. Prefero Python, mas preciso treinar Java.