|
|
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.
SPOJ Problem Set (seletivas)
1764. Engenharia de Software
Problema: ENGENHAR
|
Wander Vega é um experiente gerente de projetos numa grande empresa de
desenvolvimento de sistemas. Ele recentemente leu na renomada revista
científica Boas Práticas os resultados de uma pesquisa que indicam que alguns
aspectos de metodologias de desenvolvimento ágil podem ser aplicadas em grandes
equipes aumentando a produtividade. Ele ficou surpreso ao descobrir que um
desses aspectos é a programação pareada (pair programming), onde dois
desenvolvedores trabalham juntos, usando o mesmo computador. Ávido por impor
mudanças que sejam notadas pela diretoria, Wander resolveu adotar programação
pareada no próximo grande projeto que irá gerenciar. Só que como todo bom
engenheiro de software, Wander quer otimizar esse processo. Ele resolveu que
irá usar pares fixos de desenvolvedores. Além disso ele vai alocar os pares de
programadores previamente.
Porém, Wander não está disposto a correr riscos desnecessários, e só
permitirá a composição de duplas de desenvolvedores que tenham níveis
aceitáveis de produtividade, comunicação e capacidade de interação em trabalhos
conjuntos. Caso isso não seja possível, Wander colocará todos os
desenvolvedores de seu próximo projeto numa sala quente, com várias esfihas,
refrigerantes e um computador, e aplicará as técnicas de programação extrema
(extreme programming) para viabilizar o desenvolvimento do sistema.
Avaliando suas possibilidades ele percebeu que seu plano seria mais
reutilizável em outros projetos se ele tivesse um programa que verificasse a
viabilidade do pair programming em sua empresa.
Nesse momento ele pensou em você, o mais novo estagiário da empresa, para
escrever um programa que resolva esse problema. Wander fez uma profunda análise
de requisitos e chegou na seguinte especificação que seu programa deve seguir.
Entrada
A primeira linha da entrada contém um número k, que indica o
número de instâncias. Cada instância é composta por uma linha contendo um
número inteiro 2 <= n <= 100, a quantidade de profissionais de
desenvolvimento da empresa, seguida por n linhas. A
i-ésima linha começa com um número p, indicando o
número de pessoas com a qual o i-ésimo programador tem
produtividade aceitável, e vem seguida por p inteiros, cada um
entre 1 e n, indicando tais parceiros. Quando
n for 0 seu programa deve parar.
Saída
O programa deve imprimir a cada instância uma linha com
Instancia i, onde i é o número de i-ésima
instância. A linha seguinte deve conter a expressão pair programming
se a proposta de Wander for viável. Caso contrário,
imprima a expressão extreme programming. Após cada instância, seu
programa deve imprimir uma linha em branco.
Exemplo
Entrada:
2
6
0
3 3 4 6
1 2
1 2
0
1 2
4
2 3 4
1 4
2 1 4
3 1 2 3
Saída:
Instancia 1
extreme programming
Instancia 2
pair programming
| Adicionado por: | Wanderley Guimarães |
| Data: | 2007-09-01 |
| Tempo limite: | 10s
|
| Tamanho do fonte: | 50000B |
| Linguagem permitida: | Todas exceto: AWK CLOJ ERL F# GO JS PERL 6 SCALA SED TCL |
| Origem: | Seletiva paea Maratona de Programação do IME - 2006 |
|
|
|
|