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.|

RELATORI - Recuperação de relatórios

No fim da semana, John pediu para Mary enviar para ele um relatório de vendas urgente. Mary estava apressada porque ela estava saindo de férias. Ela então copiou e colou a folha de vendas em um email, enviando-o para John e foi embora. Ela não queria ser pertubada com assuntos de trabalho, por isso ela foi embora sem contar para ninguém onde ele estaria. Ela anunciou simplesmente que não estaria disponível nas próximas duas semanas, desligou seu celular, e saiu.

Quando John recebeu a messagem ele percebeu que o relatório não tinha nenhum espaço!!! Ele sabia que o relatório deveria ter uma linha de cabeçalho com os códigos dos produtos da forma P1, P2, ... , PN e a palavras Totals no fim. Então haveriam muitas linhas reportando as vendas de produtos para os diferentes vendedores do escritórios de Mary. Cada vendedor era identificado com um nome composto por uma palavra (somente caracteres alfabéticos). A linha correspondente a um vendedor deveria começar com o nome dele/dela, seguido pelo número de produtos vendidos, de acordo com as colunas do relatório. A última linha do relatório deveria começar com duas letras TP seguido pelos totais de cada coluna no relatório (claro, nenhum nome de vendedor começava com as letras TP). John sabia que não existia nenhum número negativo no relatório, uma quantidade zero era relatada com um simples 0, e não haviam zeros à esquerda quando era relatado uma quantidade positiva.

Neste ponto, John decidiu reconstruir o relatório de Mary. Ele sabia que deveria haver mais de um resultado possível, mas ele queria poder fazer algo com a primeira solução consistente que ele pudesse encontrar (talvez ele pudesse corrigir algum erro quando Mary voltasse).

Você poderia ajudar John com a recuperação do relatório de vendas de Mary?

Entrada

A entrada consiste de muitos casos de teste. A primeira linha de um caso de teste contém um inteiro C especificando o numero de casos de teste. A primeira linha de um relatório é uma linha de cabeçalho, contendo o código dos produtos P1, P2, ... PN e a palavra Totals, como descrito anteriormente. A numeração dos produtos nesta linha de cabeçalho é consecutiva, de 1 até N, com 1<=N<=15. Então existirá um número de linhas, cada uma representando uma linha do relatório, como descrito anteriormente. A última linha do relatório inicia com as letras TP e tem o formato descrito anteriormente. Considere que cada vendedor vendeu menos do que 1000 unidades de cada produto. Não existem mais do que 4 vendedores em cada caso. Cada nome de vendedor não excederá 10 caracteres (Somente caracteres minúsculos e maiúsculos).

Saída

Para cada caso de teste na entrada seu programa deve produzir um possivel relatório de Mary. Cada linha da resposta de estar alinhada a esquerda, com seus itens separados por um espaço em branco, e com nenhum espaço no fim.


Exemplo de entrada 2 P1P2P3Totals Amanda121100131 Charles5141772 Monique14121238 TP1862629241 P1P2Totals Ingrid9519851936 Candid49212504 Peter10313 Camila000 TP145310002453

Exemplo de saída P1 P2 P3 Totals Amanda 121 10 0 131 Charles 51 4 17 72 Monique 14 12 12 38 TP 186 26 29 241 P1 P2 Totals Ingrid 951 985 1936 Candid 492 12 504 Peter 10 3 13 Camila 0 0 0 TP 1453 1000 2453


Adicionado por:Wanderley Guimarăes
Data:2008-12-27
Tempo limite:1.305s
Tamanho do fonte:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Linguagem permitida:Todas exceto: ASM64 CLOJURE ERL FSHARP JS-RHINO PERL6 PY_NBC SCALA TCL
Origem:Final Sul-Americana da Maratona de Programação da ACM 2006

hide comments
2010-04-30 05:45:30 Felipe de Moraes Modesto [UnB]
A especificaçăo é cheia de detalhes. a historia contém detalhes de implementaçăo importantes.

Last edit: 2010-04-30 19:37:55
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.