Submeter | Todas submissőes | Melhores | Voltar |
HASHADIQ - Hash |
Neste problema, pede-se para armazenar, gerenciar e buscar por indivíduos definidos por um identificador único (inteiro) e pelas seguintes informações: Primeiro e último nome, data de nascimento e telefone.
Entrada
A entrada será feita por 4 comandos: add, del, info e query. A execução é encerrada com EOF.
O comando ''add'' recebe e armazena todos dados do individuo, e retorna erro se já existir individuo com mesmo identificador.
add <id> <first_name> <last_name> <birtday> <phone_number>
O comando ''del'' remove todos dados relacionados a um determinado identificador, e retorna erro se não existir individuo com o identificador fornecido.
del <id>
O comando ''info'' imprime todos dados de um determinado identificador, e retorna erro se não existir individuo com o identificador fornecido.
info <id>
O comando ''query'' realiza uma busca nos indivíduos cadastrados. Conforme as seguintes tags de busca:
- fn: Primeiro nome
- ln: Ultimo nome
- bd: Data de nascimento
- pn: Telefone
query (<tag>:<valor>)+
Saída
O comando ''add'' somente imprime na saída quando ocorre erro na inserção de um individuo, ocorrida na inserção de individuo com identificador duplicado.
O comando ''del'' somente imprime na saída quando o identificador solicitado não existe.
O comando ''info'' imprime todos dados de um determinado identificador, ou imprime erro se não existir individuo com o identificador fornecido.
O comando ''query'' retorna os identificadores que respeitem os critérios da busca na ordem crescente separados por espaços. Em caso de não existir nenhum individuo que respeite a busca, uma linha vazia deve ser impressa.
Exemplo
Entrada:
add 123 Roberto Nascimento 01/01/1960 +55-21-0190-0190
add 123 Joao Souza 11/10/2000 103-99
add 09 Andre Matias 01/01/1970 +55-21-0190-0190
add 222 Diogo Fraga 01/06/1967 +55-21-0190-0190
add 99 Seu Barbosa 01/01/1960 +55-21-0190-0190
add 100 Seu Beirada 01/01/1960 +55-21-9999-9999
add 155 Andre Fortunato 02/01/1962 +55-21-0190-0190
query bd:01/01/1960
query bd:01/01/1960 fn:Seu
query bd:01/01/1960 fn:Seu pn:+55-21-9999-9999
info 100
del 99
query fn:XXX
query bd:01/01/1960 fn:Seu
info 99
del 99
Saída:
ID 123 ja cadastrado.
99 100 123
99 100
100
Seu Beirada 01/01/1960 +55-21-9999-9999
100
ID 99 nao existente.
ID 99 nao existente.
Adicionado por: | Wanderley Guimarăes |
Data: | 2010-11-09 |
Tempo limite: | 1s |
Tamanho do fonte: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Linguagem permitida: | Todas exceto: ASM64 CLOJURE ERL FSHARP PERL6 PY_NBC SCALA TCL |
Origem: | Unicamp |
hide comments
|
||||||
2018-09-19 00:19:56
erro em tempo de execuçăo (NZEC) O que é isso em C#? Eu coloquei já para a função main retornar um int, e return 0; no fim da função e não resolveu nada. |
||||||
2015-03-10 11:55:16 MasterL
Rodando com o exemplo, obtenho: ID 123 ja cadastrado. 99 100 123 99 100 100 Seu Beirada 01/01/1960 +55-21-9999-9999 100 ID 99 nao existente. ID 99 nao existente. Mas o SPOJ sempre diz que a saída está errada... Last edit: 2015-03-27 06:16:54 |
||||||
2014-09-08 21:30:20 Marco Santarelle da Silva Jardim
Pow man acredito ter feito um código legal em Java, mas sempre excede o limite de tempo... Como é definido esse limite? Poderia estar um limite pequeno considerando que em Java sempre é mais demorado? To confuso... Até o presente momento de minha pesquisa ninguém conseguiu em Java por esse motivo. |
||||||
2014-07-05 04:05:40 Douglas Paz
Acredito que o lance de java com TLE seja por causa do EOF, pelo menos no meu caso năo consigo resolver isso, fica em um loop infinito! |
||||||
2014-05-07 08:04:50 Pompeu(IFgoiano-Morrinhos)
alguem sabe se na query pode existir fn:XXX ln:XXX bd:XXX pn::XXX quatro dados diferentes? |
||||||
2014-03-06 05:03:09 Jean Kirchner
Para os que tentaram resolver em java. Eu fiz uma submissăo só para ver o tempo de leitura usando o Scanner ou o Buffered reader, e só isso deu TLE. Depois que eu otimizei a leitura, mesmo usando estratégias de hash para tudo, está dando TLE no java. Meio complicado a diversidade de linguagens no site sendo que as linguagens que năo săo C, sempre dăo problemas. |
||||||
2013-09-02 12:47:34 Bruno Damasceno Martins
Oq seria esse tempo limite? O usuário vai digitar os dados ou o programador chumba? |
||||||
2013-08-30 13:50:50 Kleber Vianna [FATEC/SP]
O que deve acontecer se o usuário entrar com um comando errado ou năo existente? O programa emite mensagem de erro ou o ignora? Quantos indivíduos deveem ser esperados para o armazenamento? |
||||||
2013-02-11 23:39:04 felipe
a entrada quando se for para adicionar, vai sempre seguir esse padrăo? nome sobrenome dtnascimento telefone |
||||||
2012-11-27 10:35:06 Pedro Henrique Cordeiro Silva[IFNMG MONTES CLAROS]
Preciso de ajuda na parte do query Last edit: 2012-12-09 17:11:16 |