Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

HASHADIQ - Hash

Autor: Tiago Falcão


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
2011-06-17 14:40:34 francapriscylla
Fiz em Python, pena que python é muito lento e deu limite de tempo excedido. Mas adorei fazer essa questăo, os teste passaram de primeira!
2011-06-10 04:39:06 Rômulo
Caramba ... Eu resolvi esse problema de primeira (só um erro de compilaçăo, tava usando MSVC e compilei direto no GNU do SPOJ). O tempo năo foi um dos melhores, 5.80 ... Mas o quę, funcionou !
2011-04-15 19:55:02 Valmir [FACENS]
.

Last edit: 2011-05-09 13:30:17
2011-03-07 04:25:49 Carlos Eduardo Rodrigues Alves [USJT]
Este problema esta' bem mal definido, fora dos padroes do SPOJ. Eis alguns limites, para tornar o problema um pouco mais tratavel: os IDs podem ter valores altos (mas inferiores a 2^31), as linhas de entrada tem menos de 80 caracteres e o numero de IDs distintos que podem aparecer e' inferior a 50000.
2010-12-22 16:08:22 Leandro Perini Bortoletto
É simples mas trabalhoso
2010-11-18 20:51:57 Waldir Rodrigues de Almeida
Pois é...
2010-11-18 18:00:22 João Paulo Scalett
A disputa ta apertada hahaha
quero pelo menos conseguir passar.. nem que seja com 5.99 segundos e 2G de memória.
2010-11-16 23:17:35 Alexandre Faltz
Vida de estudante é difícil, né?
2010-11-16 13:21:27 Bruno Martins [USJT]
Sem saber o limite das variáveis fica difícil...
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.