Sunteți pe pagina 1din 9

MP 2011 - Sede UFAM Norte AM/RR Maratona de Programao 2011

Desafio Todos Contra 1


INdT/IComp-UFAM

25 de outubro de 2011 Manaus - AM

MP 2011, SBC/ACM-ICPC

Desafio Todos Contra 1 IndT/IComp-UFAM

Problema A
Mmias Enlouquecidas
ID do Problema: mumia
Durante uma excurso Floresta Amaznica, voc se depara com uma tumba indgena antiga. Infelizmente, a abertura do tmulo acaba por ser uma m ideia: de repente, o que foi apenas h alguns instantes uma floresta tranquila agora se tornou uma floresta cheia de mal-humoradas mmias indgenas (voc tambm ficaria mal-humorado se fosse de repente despertado aps alguns milhares de anos de sono tranquilo). Confrontado com esta massa assassina de mmias loucas, sua nica chance correr e tentar escapar antes que elas peguem voc. A questo : quanto tempo vai demorar antes de uma mmia pegar voc, assumindo que nem voc nem as mmias cansam? Modelamos a floresta como uma grade de quadrados. Voc e as mmias se revezam fazendo movimentos no quadrado. Voc faz o primeiro movimento. Na sua vez, voc pode se mover para qualquer um dos oito quadrados adjacentes sua localizao atual ou voc pode optar por ficar parado. Na vez das mmias, cada mmia simplesmente pode se mover para o quadrado adjacente ao dela que fique mais prximo de voc (medida pela distncia euclidiana, assumindo que voc e todas as mmias esto nos centros dos respectivos quadrados). possvel que duas mmias ocupem o mesmo quadrado. Um passo no tempo consiste de seu movimento seguido pelos movimentos das mmias. A mmia o captura se ela se move para o quadrado onde voc est localizado ou se voc se mover para o quadrado ocupado pela mmia. Obviamente, voc tentar evitar ser apanhado por um maior tempo possvel. Assim, depois de quantos passos no tempo voc ser pego?

Figura 1. Uma perseguio de mmias. A Figura 1 ilustra o que pode acontecer se voc estiver sendo perseguido por quatro mmias. O quadrado com o rtulo H sua posio inicial, e os quadrados rotulados com M so as posies iniciais das mmias. Depois de quatro passos de tempo voc ser capturado pela mmia, cuja posio inicial era (3, 4) em relao sua posio inicial.

MP 2011, SBC/ACM-ICPC

Desafio Todos Contra 1 IndT/IComp-UFAM

Entrada A entrada consiste de vrios casos de teste. Cada caso de teste comea com um inteiro n (0 n 5 10 ) indicando o nmero de mmias na floresta. As n linhas seguintes contm cada uma dois inteiros x e y, indicando que h inicialmente uma mmia nas coordenadas (x, y) da floresta, onde x 6 e y so ambos delimitados por 10 em valor absoluto. Sua posio inicial (0,0), e nenhuma mmia comea nesta posio. O ltimo caso de teste seguido por uma linha contendo o nmero -1. Sada Para cada caso de teste, mostre o nmero do caso de teste seguido do nmero mximo de passos de tempo at que voc seja capturado (medido como o nmero total de vezes que voc teve a possibilidade de se mover), ou a palavra never se voc puder evitar ser capturado indefinidamente. A seguir descrito o formato da entrada e da sada atravs de um exemplo. Exemplo Entrada de exemplo 4 -3 5 34 -6 -2 1 -5 1 0 -1 -1 Sada esperada para o exemplo Case 1: 4 Case 2: never

MP 2011, SBC/ACM-ICPC

Desafio Todos Contra 1 IndT/IComp-UFAM

Problema B
Varas Mgicas
ID do Problema: varasmagicas
A mgica foi aceita por todos os povos antigos como uma tcnica para direcionar o uso de poderes divinos. Em uma histria bem conhecida, um grupo de feiticeiros jogou suas varas mgicas no cho, onde magicamente eles se transformaram em serpentes vivas. Em oposio, outra pessoa jogou sua vara no cho, onde se transformou em uma serpente que ento devorou as serpentes dos feiticeiros! A nica magia necessria para este problema dar a soluo correta! Voc recebe uma vara mgica que tem vrios segmentos de reta, com junes entre os segmentos que permitem que a vara se dobre. Dependendo do comprimento e de como eles so dobrados, os segmentos da vara podem ser arranjados para produzirem polgonos. Voc deve determinar a maior rea que poderia ser delimitada pelos polgonos formados dobrando-se a vara, onde cada segmento pose ser usado no mximo em um polgono. Segmentos podem tocar-se apenas em seus pontos de extremidade. Por exemplo, a vara mostrada abaixo, do lado esquerdo, possui cinco segmentos e quatro articulaes. Ela pode ser dobrada para produzir um polgono, como mostrado direita. Entrada A entrada contm vrios casos de teste. Cada caso de teste descreve uma vara mgica. A primeira linha em cada caso de teste contm um inteiro n (1 n 500) que indica o nmero de segmentos da varinha mgica. A prxima linha contm n inteiros S1, S2, ..., Sn (1 Si 1000) que indicam os comprimentos dos segmentos na ordem em que aparecem na vara. O ltimo caso de teste seguido por uma linha contendo um nico zero. Sada Para cada caso, mostrar o seu nmero seguido pela rea fechada total mxima que pode ser obtida ao se dobrar a varinha mgica nos pontos dados. Respostas dentro de um erro absoluto ou -4 relativo de 10 sero aceitas. A seguir descrito o formato de entrada e de sada atravs de um exemplo. Exemplo Entrada de exemplo 4 1234 8 3 4 5 33 3 4 3 5 0 Sada esperada para o exemplo Case 1: 4.898979 Case 2: 19.311

MP 2011, SBC/ACM-ICPC

Desafio Todos Contra 1 IndT/IComp-UFAM

Problema C
Central de Caf
ID do Problema: cafe
apenas um modismo ou para ficar? Voc no tem certeza, mas o nmero crescente de lojas de caf que esto abrindo em sua cidade natal tem se tornado um atrativo. Aparentemente, as pessoas se tornaram to viciadas em caf que apartamentos que esto perto de muitas lojas de caf esto com altos valores de aluguel. Isto chegou ao conhecimento de uma empresa imobiliria local. Eles esto interessados em identificar as localizaes mais valiosas na cidade em termos de sua proximidade a um grande nmero de lojas de caf. Essa empresa deu a voc um mapa da cidade, marcado com as localizaes das lojas de caf. Supondo que uma pessoa, em mdia, esteja disposta a andar apenas um nmero fixo de quarteires para tomar o seu caf da manh, voc deve encontrar o melhor local de onde se possa atingir o maior nmero de lojas de caf. Como voc provavelmente j sabe, sua cidade natal construda em um layout de grade quadrada, com blocos alinhados em eixos norte-sul e leste-oeste. Uma vez que voc tem que andar pelas ruas, a distncia entre intersees (a, b) e (c, d) |a c| + |b d|. Entrada A entrada contm vrios casos de teste. Cada caso de teste descreve uma cidade. A primeira linha de cada caso de teste contm quatro inteiros dx, dy, n e q. Estes nmeros indicam, respectivamente, as dimenses dx x dy (1 dx, dy 1000) da grade da cidade, o nmero de cafs 5 n (0 n 5x10 ), e o nmero de consultas q (1 q 20). Cada uma das n linhas seguintes contm dois inteiros xi e yi (1 xi dx, 1 yi dy); estes inteiros indicam a localizao da i-sima loja de caf.Haver, no mximo, uma loja de caf por interseo. Cada uma das q linhas seguintes 6 contm um nico inteiro m (0 m 10 ), indicando a distncia mxima que uma pessoa est disposta a caminhar para tomar uma xcara de caf. O ltimo caso de teste seguido por uma linha contendo quatro zeros. Sada Para cada caso de teste da entrada, exibir seu nmero. Em seguida, exibir uma linha por consulta no caso de teste. Cada linha exibe o nmero mximo de lojas de caf acessveis por uma consulta/busca de distncia m, seguido pela localizao ideal. Por exemplo, a sada de exemplo mostra que 3 (trs) lojas de caf esto dentro da consulta de distncia 1 da localizao tima/ideal (3, 4), 4 (quatro) lojas esto dentro da consulta de distncia 2 da localizao tima (2, 2), e 5 (cinco) lojas esto dentro da consulta de distncia 4 da localizao tima (3, 1). Se houver vrios locais ideais, escolher o local que est mais distante ao sul (inteiro positivo da menor coordenaday). Se ainda assim houver empate, escolher o local mais distante a oeste (inteiro positivo da menor coordenada-x). Siga o formato da sada de amostra. A seguir descrito o formato da sada atravs de um exemplo. Exemplo Entrada de exemplo 4453 11 12 33 44 24 1 2 4 0000 Sada esperada para o exemplo Case 1: 3 (3,4) 4 (2,2) 5 (3,1)

MP 2011, SBC/ACM-ICPC

Desafio Todos Contra 1 IndT/IComp-UFAM

Problema D
Coleta de Lixo Predial
ID do Problema: lixo
A Calhas Coletora Ltda." uma empresa que constri rampas de lixo. Uma rampa ou calha de lixo um tubo oco instalado em edifcios, para que o lixo acumulado no topo caia e possa ser recolhido na caixa ao final. Projetar rampas de lixo na verdade uma tarefa nada trivial. Dependendo de qual tipo de lixo que deve ser jogado, a rampa precisa ser adequadamente dimensionada. E j que o custo de fabricao de uma calha de lixo proporcional ao seu tamanho, a empresa gostaria de sempre construir uma rampa que seja to pequena quanto possvel. Escolher o tamanho exato pode ser invivel, assim, vamos considerar uma simplificao em 2-dimenses do problema de se projetar uma rampa de lixo. Uma rampa de lixo aponta diretamente para baixo e possui largura constante. Os objetos que sero descartados na rampa de lixo so modelados como polgonos. Antes de um objeto cair na rampa de lixo, o mesmo pode ser girado de modo a proporcionar um encaixe perfeito no tubo. Uma vez descartado, o objeto/lixo viaja em um caminho reto para baixo e no pode girar em vo. A figura a seguir mostra como um objeto girado primeiro, para que se encaixe na rampa de lixo. Sua tarefa calcular a menor largura da rampa de lixo que permitir que todo o lixo descartado (polgonos do conjunto) passe pela rampa sem problemas.

Entrada A entrada contm vrios casos de teste. Cada caso de teste comea com uma linha contendo um inteiro n (3 n 100), indicando o nmero de pontos do polgono que modela o item de lixo. As 4 prximas n linhas contm pares de inteiros xi e yi (0 xi,, yi 10 ), dando as coordenadas dos pontos (vrtices) do polgono, em ordem. Todos os pontos em um caso de teste so garantidos serem mutuamente distintos e os lados do polgono nunca se cruzam (tecnicamente, h uma exceo inevitvel de dois lados vizinhos compartilhando um vrtice comum. Claro que isto no considerado um cruzamento). O ltimo caso de teste seguido por uma linha contendo um nico zero. Sada Para cada caso de teste, exibir seu nmero seguido pela largura da menor rampa de lixo atravs do qual ele pode ser descartado. Mostre a largura mnima com exatamente dois dgitos direita do ponto decimal, arredondando para o mltiplo mais prximo de 1/100. Respostas dentro de 1/100 do arredondamento correto da resposta sero aceitos. Siga o formato da sada do exemplo a seguir.

MP 2011, SBC/ACM-ICPC

Desafio Todos Contra 1 IndT/IComp-UFAM

Entrada de exemplo 3 00 30 04 4 0 10 10 0 20 10 10 20 0

Sada esperada para o exemplo Case 1: 2.40 Case 2: 14.15

MP 2011, SBC/ACM-ICPC

Desafio Todos Contra 1 IndT/IComp-UFAM

Problema E
Pirmides do Fara
ID do Problema: piramides
No to difcil construir uma pirmide se voc tem um monte de cubos idnticos. Sobre uma base plana voc coloca, digamos, 10 x 10 cubos em um quadrado. Centrado em cima deste quadrado voc coloca 9 x 9 cubos, formando um quadrado menor. Continuando dessa forma voc acaba com um nico cubo, que o topo da pirmide. A altura de tal pirmide igual ao comprimento de sua base, que neste caso 10. Chamamos isso de uma pirmide alta. Se voc acha que uma pirmide alta muito ngreme, voc pode proceder da seguinte forma. Sobre a base quadrada de cubos 10 x 10, coloque um quadrado de cubos 8 x 8, em seguida, um quadrado de cubos 6 x 6, e assim por diante, terminando com um quadrado superior de cubos 2 x 2 (se voc comear com uma base de comprimento mpar, voc acaba com um nico cubo em cima, claro). A altura dessa pirmide de cerca de metade do comprimento da sua base. Ns chamamos isso de pirmide baixa. Em priscas eras, houve um fara que herdou um grande nmero de cubos de pedra de seu pai. Ele ordenou a seu arquiteto para usar todos esses cubos para construir uma pirmide, no deixando um nico sem ser utilizado. O arquiteto gentilmente explicou que nem todo nmero de cubos pode formar uma pirmide. Com 10 cubos voc pode construir uma pirmide baixa com base 3. Com 5 cubos voc pode construir uma pirmide alta de base 2. Mas nenhuma pirmide pode ser construda usando exatamente 7 cubos. O fara no achou graa, mas, depois de algum tempo pensando ele veio com novas restries: 1. Todos os cubos devem ser usados. 2. Voc pode construir mais de uma pirmide, mas voc deve construir o mnimo de pirmides possvel. 3. Todas as pirmides devem ser diferentes. 4. Cada pirmide deve ter uma altura de pelo menos 2. 5. Satisfazendo as condies acima, a maior das pirmides deve ser to larga quanto possvel (isto , contendo a maioria dos cubos). 6. Satisfazendo as restries acima, a prxima maior pirmide deve ser to larga quanto possvel. 7. E assim por diante ... O arquiteto, depois de muito desenhar figuras e imagens na areia, apresentou a melhor soluo. Escreva um programa que determine a forma de se atender as restries do fara, dado o nmero de cubos. Entrada A entrada consiste de vrios casos de teste, cada um em uma nica linha. Um caso de teste um 6 inteiro c, onde 1 c 10 , indicando o nmero de cubos disponveis. O ltimo caso de teste seguido por uma linha contendo um nico zero. Sada Para cada caso de teste, exibir seu nmero seguido pelas pirmides a serem construdas. As pirmides devem ser ordenadas com a maior primeiro. As pirmides so especificadas pelo comprimento da sua base seguido por um L, se for uma pirmide baixa, ou um H, se for uma pirmide alta. Se duas pirmides distintas tiverem o mesmo nmero de cubos, a mais alta deve ser listada primeiro. Imprimir "impossible" se no for possvel cumprir os requisitos do fara. Siga o formato da sada do exemplo. Entrada de exemplo 29 28 0 Sada esperada para o exemplo Case 1: 3H 3L 2H Case 2: impossible

MP 2011, SBC/ACM-ICPC

Desafio Todos Contra 1 IndT/IComp-UFAM

Problema F
Fulga da Mina
ID do Problema: mina
Seu valos o dono de uma grande mina de illudium phosdex. A mina constituda por uma srie de tneis que se encontram em vrios cruzamentos de grande porte. Ao contrrio de alguns proprietrios, Seu valos se preocupa com o bem-estar dos seus trabalhadores e avalia com ateno o layout da mina. Especificamente, ele se preocupa que haja um entroncamento ou juno na mina que, em caso de colapso (o illudium phosdex, como voc sabe, altamente instvel), separe alguns trabalhadores em uma seo isolada da mina e impossibilite a sada de todos. Para combater isto, ele quer instalar poos especiais de escape, a partir dos entroncamentos at a superfcie. Ele poderia instalar um eixo de fuga em cada um dos entroncamentos, mas valos no se preocupa tanto assim com seus trabalhadores. Em vez disso, ele quer instalar o nmero mnimo de eixos de escape de modo que se qualquer entroncamento colapsar, todos os trabalhadores que sobreviverem queda deste entroncamento ter um caminho at a superfcie. Escreva um programa para calcular o nmero mnimo de eixos de fuga e o nmero total de maneiras em que esse nmero mnimo de eixos de sada pode ser instalado. Entrada A entrada consiste de vrios casos de teste. A primeira linha de cada caso contm um inteiro 4 positivo n (n 5x10 ) indicando o nmero de tneis da mina. Cada uma das n linhas seguintes contm dois nmeros inteiros distintos s e t, onde s e t so pontos de entroncamento. Os entroncamentos/junes so numerados consecutivamente a partir de 1. Cada par de junes acompanhado por, no mximo, um nico tnel. Cada conjunto de tneis da mina constitui uma unidade conexa (isto , voc pode comear a partir de qualquer juno e ir a qualquer outra). O ltimo caso de teste seguido por uma linha contendo um nico zero. Sada Para cada caso de teste, exiba seu nmero, seguido do nmero mnimo de eixos de fuga necessrios para o sistema de tneis de minas e do nmero total de maneiras que estes eixos de sada podem ser instalados. Voc pode assumir que o resultado se encaixa em um inteiro de 64 bits com sinal. Siga o formato da sada do exemplo. Entrada de exemplo 9 13 41 35 12 26 15 63 16 32 6 12 13 24 25 36 37 0 Sada esperada para o exemplo Case 1: 2 4 Case 2: 4 1

S-ar putea să vă placă și