Ir para conteúdo
Fórum Script Brasil

cristianpastro

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre cristianpastro

cristianpastro's Achievements

0

Reputação

  1. Olá, eu estou com dificuldades neste problema: http://br.spoj.com/problems/PROIBIDO/ 1) Primeiramente tentei inserir os elementos ordenadamente, assim eu teria um vetor ordenado e apenas utilizava a busca binária. Porém tomei "Tempo Limite Excedido". 2) Então para diminuir o vetor eu tentei impedir que elementos repetidos sejam adicionados, quando o algoritmo encontrava a posição correta para a inserção eu verificava se alí não existia um elemento igual, caso sim eu não o inseria novamente. Porém a resposta foi a mesma 3) Também tentei colocar os elementos no vetor na ordem em que eram informados e realizar uma busca sequencial. O problema persiste. Fiquei um bom tempo, mas não consegui sair do TLE Muito Obrigado Obs: código do subprograma que insere elementos ordenadamente int insere_ordenado(int *v,int x, int n){ int i,j; for (i=0;((i<n)&&(v<x));i++); //procura o local da inserção if ((v==x)) //caso já tenha um elemento igual alí return 1; for (j=n;j>i;j--) // desloca os elementos necessários v[j]=v[j-1]; v=x; // insere return 0; }
  2. Olá, eu estou com dificuldades neste problema: http://br.spoj.com/problems/PROIBIDO/ 1) Primeiramente tentei inserir os elementos ordenadamente, assim eu teria um vetor ordenado e apenas utilizava a busca binária. Porém tomei "Tempo Limite Excedido". 2) Então para diminuir o vetor eu tentei impedir que elementos repetidos sejam adicionados, quando o algoritmo encontrava a posição correta para a inserção eu verificava se alí não existia um elemento igual, caso sim eu não o inseria novamente. Porém a resposta foi a mesma 3) Também tentei colocar os elementos no vetor na ordem em que eram informados e realizar uma busca sequencial. O problema persiste. Fiquei um bom tempo, mas não consegui sair do TLE Muito Obrigado Obs: código do subprograma que insere elementos ordenadamente int insere_ordena do(int *v ,int x, int n){ int i,j; for (i=0;((i<n)&&(v<x));i++); //procura o local da inserção if ((v==x)) //caso já tenha um elemento igual alí return 1; for (j=n;j>i;j--) // desloca os elementos necessários v[j]=v[j-1]; v=x; // insere return 0; }
×
×
  • Criar Novo...