TOPIC

Time limit exceeded - Como resolver

Uriel asked 1 year ago

Pessoal, preciso de ajuda por favor. Meu código está funcionando perfeitamentre no meu computador mas aqui ele falha com o time limit. O que eu posso fazer?

#include<stdio.h>
#include<string.h>

int main()
{
    int tam,i=0,j,k,n,l;
    char *maiu ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    char *minu ="abcdefghijklmnopqrstuvwxyz";
    char palavra[50];

    while(scanf("%s", palavra), palavra != EOF)
    {

        tam  = strlen(palavra);
        char codi[tam];

        for(l=0;l < tam; l++)
        {
            for(j=25;j >= 0; j--)
            {
                if((palavra[l]) == (maiu[j]) && palavra[l] != ' ')
                {
                    codi[l]= maiu[j-13];
                    break;
                }
                if((palavra[l]) == (minu[j]) && palavra[l] != ' ')
                {
                    codi[l]= minu[j-13];
                    break;
                }
                else
                {
                    codi[l] = palavra[l];
                }
            }
            if((palavra[l]) == (maiu[j]) && (j+26)-13 < 26)
            {
                codi[l]=maiu[(j+26)-13];
            }
            if((palavra[l]) == (minu[j]) && (j+26)-13 < 26)
            {
                codi[l]=minu[(j+26)-13];
            }
        }
        codi[tam] = '\0';
        printf("%s\n",codi);
    }
    return 0;
}

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

  • Diogo Alves replied 1 year ago

    Coloque isso no seu while que seu código passa

    while(gets(palavra) != NULL)
  • 🎈🎈 VICTOR 🎈🎈CI73A2019 replied 1 year ago

    já tentou scanf(%d,&palavra) != EOF ? ou então o codigo ta mal otimizado

  • Diogo Alves replied 1 year ago

    tive que enviar algunas vezes o seu código, para ver o que estava certo