TOPIC

Submissão - 10% Wrong Answer

LucasHenrique asked 6 years ago

Minha submissão gerou 10% de wrong answer apenas. Entretanto, para todos os casos de teste que eu tentei, a resposta está correta. Como eu encontro uma possível excessão para meu algoritmo? Há algum debug que possa usar?

Remember not post solutions. Your post may be reviewed by our moderators.

  • vvilela2 replied 5 years ago

    Eu gerei todos os casos de teste "possíveis" (todos os tamanhos de entrada e todos os caracteres imprimíveis) e as saídas da sua e da minha solução bateram.... Será que não pode ser um bug de codificação na hora de ler a entrada e aí o seu programa acaba imprimindo caracteres errados...? Não pode ser.

    Eu ainda tentei portar o seu código pra C# e mesmo assim dá 10% de erro... De qualquer maneira, tenho mais casos de teste aqui, mas como disse, todos bateram com a minha saída e com o seu código atual... https://paste.ee/p/4uZHJ

  • vvilela2 replied 5 years ago

    Então vamos resolver isso. Mais caso de teste (N = 199):

    Entrada:

    199
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
    0

    Saída:

    e isbiloiianuunpm , ndqm,oximr e i epedspdt r   maq t ranlobssto uo  tocudsgisdioercd lrtl nlatidnvim usnsrdeectto lac aoi iiu.Lrmismdlrstae,cnettraiicn lt e oeumdtmo niiutu aoee ooemgaaiu.U nma ii e

    Entrada:

    129
    Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa q
    0

    Saída:

    ct iimaro tmdeetcnsaoomnl iapes ppa eni ur  utasidruanmo  r,qi eu esiitsud mi sentserrstvlpae cuatu ooeqeluatu,ttmrmaeim au paqSd

    Entrada:

    127
    At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos d
    0

    Saída:

    btmame  sdmiotiv s didqdrutltrotrotcmeu ogsscsiat et utdn uopq A eoese cuau tisooi insio uiu u lniispasnimvlpau eeiiaqecrut usd

    (por quê eu não uni esses casos de teste, agora que estou pensando?... não sei. mas bom, se ainda passarem e não der nada de errado, poste o código!)

  • vvilela2 replied 5 years ago

    Não sei qual é o regulamento do fórum em relação a responder tópicos antigos, mas como esse problema não tem uDebug ainda e alguns (como eu agora a pouco) estão perdidos em relação a esse problema, aqui estão alguns casos de testes pra quem precisar. Espero que seja útil!

    Entrada:

    1
    a
    2
    ab
    3
    abc
    4
    abcd
    5
    abcde
    6
    abcdef
    7
    abcdefg
    8
    abcdefgh
    9
    abcdefghi
    10
    abcdefghij
    11
    abcdefghijk
    12
    abcdefghijkl
    13
    abcdefghijklm
    14
    abcdefghijklmn
    15
    abcdefghijklmno
    16
    abcdefghijklmnop
    17
    abcdefghijklmnopq
    18
    abcdefghijklmnopqr
    19
    abcdefghijklmnopqrs
    20
    abcdefghijklmnopqrst
    21
    abcdefghijklmnopqrstu
    22
    abcdefghijklmnopqrstuv
    23
    abcdefghijklmnopqrstuvw
    24
    abcdefghijklmnopqrstuvwx
    25
    abcdefghijklmnopqrstuvwxy
    26
    abcdefghijklmnopqrstuvwxyz
    0

    Saída:

    a
    ba
    bac
    cbda
    dbeac
    dbface
    dbfaceg
    ecgbdfha
    fdhbegiac
    gdibfhjace
    hdjbfikaceg
    hdkbfjlacegi
    hdlbfjmacegik
    hdlbfjnacegikm
    hdlbfjnacegikmo
    iemcgkobdfhjlnpa
    jfndhlpbegikmoqac
    kgodimqbfhjlnprace
    lhpdjnrbfikmoqsaceg
    mhqdkosbfjlnprtacegi
    nhrdlptbfjmoqsuacegik
    ohsdlqubfjnprtvacegikm
    phtdlrvbfjnqsuwacegikmo
    phudlswbfjnrtvxacegikmoq
    phvdltxbfjnruwyacegikmoqs
    phwdltybfjnrvxzacegikmoqsu

    Luis, dei uma olhada nos seus casos de teste aleatórios mas não entendi, a maioria deles geram resultados com tamanhos diferentes e o tamanho da string na primeira linha é diferente da string atual. É isso mesmo?

  • vvilela2 replied 5 years ago

    Bom... nada ainda?

    Eu construí minha solução usando uma representação estilo heap (representação de árvore binária em um vetor) e a partir daí fui preenchendo a string de saída enquanto 'navegava' nessa árvore... Mas estranho não dar certo mesmo com entradas de todos os tamanhos...

    Já tentou portar seu código também pra C ou C++? Nunca sabemos se também pode ou não ser um bug na parte do judge...

  • LucasHenrique replied 5 years ago

    Vitor, todas as saídas de todos os casos de teste que me sugeriu estão exatamente iguais. Segue abaixo o meu código:

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack;

    public class Decodificando {

    public static void main(String[] args) throws IOException { InputStreamReader ir = new InputStreamReader(System.in); BufferedReader in = new BufferedReader(ir); int num = Integer.parseInt(in.readLine()); int[] vet = {0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023}; while (num != 0) { String[] codigo = in.readLine().split(""); int i = 0; for (int j = 0; j < vet.length; j++) { if (vet[j] < codigo.length) { i = j; } } int folhas = codigo.length - vet[i]; Stack pilha = new Stack<>(); while (i >= 0) { String aux = ""; String novaString = ""; for (int j = 0; j < codigo.length; j++) { if (j % 2 == 0 && folhas > 0) { aux += codigo[j];```` folhas--; } else { novaString += codigo[j]; } } pilha.push(aux); i--; if (i != -1) { codigo = novaString.split(""); folhas = vet[i] + 1; } } String result = ""; while (!pilha.isEmpty()) { result += pilha.pop(); } System.out.println(result); num = Integer.parseInt(in.readLine()); } }

    }

  • LucasHenrique replied 5 years ago

    Vitor, eu testei todas as suas entradas com o meu algoritmo e geraram as mesmas saídas. Entretanto, continuo recebendo 10% de Wrong Answer.

  • lfvtrivelatto replied 6 years ago

    Parece que o limite de N está errado, submetendo com assert parece que o limite correto é N < 250 (o estranho é que meu código passou declarando strings de tamanho 205). De qualquer jeito segue alguns testes aleatórios: http://www.heypasteit.com/clip/0IIW1U

  • fcouto replied 6 years ago

    Estou com o mesmo problema, todas as minhas submissões geraram Wrong Answer (10%)!

  • drangelp replied 6 years ago

    Por hora não, pois se trata de um problema novo e demora alungs dias até o URI liberar o Debug desse problema. Por hora é aguardar :/