Pesquisar na Comunidade
Mostrando resultados para as tags ''métodos de ordenação''.
Encontrado 2 registros
-
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; }
- 1 resposta
-
- numeros proibidos
- spoj
- (e %d mais)
-
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; }
- 1 resposta
-
- numeros proibidos
- spoj
- (e %d mais)