TOPIC

PROBLEM 1332 - URI Fórum 1.0

beecrowd asked on Apr 27 2013

URI Online Judge Fórum 1.0

MOD

This topic was solved and cannot recieve new replies.

  • .10000 replied 9 years ago

    O meu código está com runtime error. Mas testei no terminal do linux e no dev e está funcionando corretamente. Aqui está o código. Queria saber porque está dando runtime error.

  • Bagnara replied 7 years ago

    Porque estou tendo WA 70%????

    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
    
            Scanner ler = new Scanner(System.in);
    
            int num,cont=0, cont1=3;
            String let;
    
            num = ler.nextInt();
    
            while(cont<num){
                let = ler.next();
    
                String[] vetLe= let.split("");
    
                if(vetLe.length> 3){
                    System.out.println("3");
                }else{
    
                        if(vetLe[0].indexOf("o")==0 && vetLe[1].indexOf("n")==0){
                            cont=1;
                            System.out.println("1");
    
                        }else if(vetLe[1].indexOf("n")==0 && vetLe[2].indexOf("e")==0){
                            cont1=1;
                            System.out.println("1");
                        }else if(vetLe[2].indexOf("e")==0 && vetLe[0].indexOf("o")==0){
                            cont1=1;
                            System.out.println("1");
                        }else{
                            System.out.println("2");
                        }
    
                }
    
                cont1=0;
                cont++;
            }
    
        }
    
    }
  • mleao1 replied 9 years ago

    Ilgner, essas entradas não são válidas, então não serão testadas. Lembre-se que "no máximo uma letra poderia estar errada".

  • jefetiepo replied on Jun 7 2013

    veja se estes casos de teste te ajudam:

    input:

    20
    owe
    onw
    thrne
    owe
    one
    threw
    owe
    nhree
    too
    nne
    thren
    tne
    two
    too
    throe
    oee
    tww
    thtee
    ooe
    ont

    output:

    1
    1
    3
    1
    1
    3
    1
    3
    2
    1
    3
    1
    2
    2
    3
    1
    2
    3
    1
    1
  • shgoncalves replied 9 years ago

    O código tá dando Wrong answer (50%) me ajudem aí.

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main(){
        int nlin;
        char v[5];
        int i;
        scanf("%i", &nlin);
    
        for(i = 0; i < nlin;i++){
              scanf("%s", &v);
    
        if (strlen(v) == 3){
    
                if( v[0] == 'o' || v[2] ==  'e'){
                           if(v[1] == 'n' && v[0] == 'o'){
                                   printf("1\n");
                           }
                           if(v[1] == 'n' && v[2] == 'e'){
                                   printf("1\n");
                           }
                           if(v[0] == 'o' && v[2] == 'e'){
                                   printf("1\n");
                           }
    
                }
    
                if( v[0] == 't' || v[2] ==  'o'){
                            if(v[1] == 'w' && v[0] == 't'){
                                   printf("2\n");
                           }
                           if(v[1] == 'w' && v[2] == 'o'){
                                   printf("2\n");
                           }
                           if(v[0] == 't' && v[2] == 'o'){
                                   printf("2\n");
                           }
                }   
    
       }
    
        if (strlen(v) > 3){
             printf("3\n");
             }
        }
    }
  • pamaral1 replied 8 years ago

    Esses exemplos não satisfazem os requisitos de entrada, então não devem ser considerados.

  • divanibarbosa replied 8 years ago

    Pessoal já que ninguém respondeu vou postar aqui mesmo. Rodem no Toolkit, ele tem alguns bugs também. Teste essa entrada para ver:

    [size=150:310okkfx]2 woo toooo[/size:310okkfx]

    As duas dão saída 3. Todas possuem mais de UMA letra errada e na descrição diz: No máximo uma letra poderia estar errada. Outro erro também é o woo ser traduzido para 3 sendo que possui 3 letras, na descrição diz: mas o comprimento da palavra está sempre correto

  • divanibarbosa replied 8 years ago

    [size=150:1bd3yc4e]Pessoal usando o toolkit achei um erro nesse programa deles, como faço para reportar?[/size:1bd3yc4e]

  • mleao1 replied 9 years ago

    derek, por favor, utilize este espaço apenas pra dúvidas e esclarecimentos. Soluções não devem ser postadas :)

  • JulienSoren replied 9 years ago

    Java é o poder! rsrsrs

    Código removido.
  • oman10 replied 9 years ago

    No enunciado diz que pode haver uma letra errada e não especificamente que a palavra terá uma letra errada.

    Teste esse caso de teste:

    2
    one
    two
  • .10000 replied 9 years ago

    Obrigada pela ajuda, consegui deixar a lógica mais simples e foi aceito.

  • mleao1 replied 9 years ago

    Além do que o Dami Henrique falou, leia com scanf("%s", palavra), o '' representa um espaço em branco, que vai ignorar a quebra de linha.

  • DamiHenrique replied 9 years ago

    Patrícia, nesse caso, wrong answer quer dizer que sua lógica não está correta.. Teste por exemplo, o caso: "twe" Ele deveria responder 2, mas o seu código simplesmente não responde nada.

    Tem como você simplificar bastante coisa no seu código, por exemplo, da pra saber se é um número em particular logo de cara, mas como? :P

  • .10000 replied 9 years ago

    Matheus Leão eu aumentei o tamanho do vetor como vc sugeriu mas agora estou recebendo Wrong answer.

  • mleao1 replied 9 years ago

    Patricia, você declarou o vetor com 4 posicoes, mas você está acessando a posição 4 que não existe (no vetor, você só tem as posições 0, 1, 2 e 3). Sempre coloque o tamanho do vetor um pouco maior por segurança. Nesse caso, a maior palavra (three) tem tamanho 6 (5 letras + \0) no tamanho da frase.

  • crbonilha replied 9 years ago

    Brunno, recomendo que voce use scanf quando for ler uma palavra, e gets quando for ler uma linha (palavras separadas por espacos). Um scanf faz seu codigo passar.

    Alias, o fflush nao funciona em linux, que eh o sistema usado pelo juiz do uri. Logo ele nao vai te ajudar muito.

  • Alves1 replied 9 years ago

    Resolvido.

  • mleao1 replied 9 years ago

    Tente compilar o seu código. Esta linha não irá compilar, pois você declarou um vetor de 3 caracteres, mas a sua string tem tamanho 4 ("o", "n", "e", "\0"). Não esqueça do \0! Ah, e acho que seu código não irá funcionar com system("pause").

  • mleao1 replied 9 years ago

    Ilgner, pelo que eu entendi, uma letra errada corresponde a uma letra errada na posição dela. Por exemplo, se o certo é ONE e você escreve EON, todas as letras estão erradas pois O != E. N != O e E != N. Recebi accepted usando esta lógica.

1 of 2