Sei sulla pagina 1di 20

acm

International Collegiate Programming Contest

2011

event sponsor

Maratona de Programao da SBC 2011 ca


Sub-Regional Brasil do ACM ICPC
17 de Setembro de 2011

Caderno de Problemas

Instrues co 1) Este caderno contm 9 problemas; as pginas esto numeradas de 1 a 19, no contando esta e a a a pgina de rosto. Verique se o caderno est completo. a a 2) Em todos os problemas, a entrada de seu programa deve ser lida da entrada padro. A sa a da deve ser escrita na sada padro. a 3) Em todos os problemas, o nal da entrada coincide com o nal do arquivo.

Promoo: ca

Patroc nio:

v1.0

Maratona de Programao da SBC ACM ICPC 2011 ca

Problema A

Acido Ribonuclico Alien e gena


Nome do arquivo fonte: acido.c, acido.cpp, ou acido.java Foi descoberta uma espcie alien e gena de cido ribonuclico (popularmente conhecido como a e RNA). Os cientistas, por falta de criatividade, batizaram a descoberta de cido ribonuclico a e alien gena (RNAA). Similar ao RNA que conhecemos, o RNAA uma ta composta de vrias e a bases. As bases so B, C, F e S e podem ligar-se em pares. Os unicos pares poss a veis so entre a as bases B e S e as bases C e F. Enquanto est ativo, o RNAA dobra vrios intervalos da ta sobre si mesma, realizando a a ligaoes entre suas bases. Os cientistas perceberam que c quando um intervalo da ta de RNAA se dobra, todas as bases neste intervalo se ligam com suas bases correspondentes; cada base pode se ligar a apenas uma outra base; as dobras ocorrem de forma a maximizar o nmero de ligaes entre bases. u co As guras abaixo ilustram dobras e ligaoes feitas sobre tas. c
B C S F S F

C B

B C

B
C

S F F C S B

C F C

B
B

Sua tarefa ser, dada a descriao de uma tira de RNAA, determinar quantas ligaes sero a c co a realizadas entre suas bases se a tira car ativa.

Entrada
A entrada composta por diversos casos de teste. Cada caso de teste possui uma linha descree vendo a sequncia de bases da ta de RNAA. e

Sa da
Para cada instncia imprima uma linha contendo o nmero total de ligaoes que ocorre quando a u c a ta descrita ativada. e

Maratona de Programao da SBC ACM ICPC 2011 ca

Restrioes c
Uma ta de RNAA na entrada contm pelo menos 1 base e no mximo 300 bases. e a No existem espaos entre bases de uma ta da entrada. a c As bases so B, C, F e S. a

Exemplos
Exemplo de entrada SBC FCC SFBC SFBCFSCB CFCBSFFSBCCB Exemplo de sa da 1 1 0 4 5

Maratona de Programao da SBC ACM ICPC 2011 ca

Problema B

Botas perdidas
Nome do arquivo fonte: botas.c, botas.cpp, ou botas.java A diviso de Suprimentos de Botas e Calados do Exrcito comprou um grande nmero a c e u de pares de botas de vrios tamanhos para seus soldados. No entanto, por uma falha de a empacotamento da fbrica contratada, nem todas as caixas entregues continham um par de a botas correto, com duas botas do mesmo tamanho, uma para cada p. O sargento mandou e que os recrutas retirassem todas as botas de todas as caixas para reembal-las, desta vez a corretamente. Quando o sargento descobriu que voc sabia programar, ele solicitou com a gentileza habitual e que voc escrevesse um programa que, dada a lista contendo a descriao de cada bota entregue, e c determina quantos pares corretos de botas podero ser formados no total. a

Entrada
A entrada composta por diversos casos de teste. A primeira linha de um caso de teste contm e e um inteiro N indicando o nmero de botas individuais entregues. Cada uma das N linhas u seguintes descreve uma bota, contendo um nmero inteiro M e uma letra L, separados por um u espao em branco. M indica o nmero do tamanho da bota e L indica o p da bota: L = D c u e indica que a bota para o p direito, L = E indica que a bota para o p esquerdo. e e e e

Sa da
Para cada caso de teste imprima uma linha contendo um unico nmero inteiro indicando o u nmero total de pares corretos de botas que podem ser formados. u

Restrioes c
2 N 104 N par. e 30 M 60 L {D, E}

Maratona de Programao da SBC ACM ICPC 2011 ca

Exemplos
Exemplo de entrada 4 40 41 41 40 6 38 39 40 38 40 37 D E D E E E D D D E Exemplo de sa da 2 1

Maratona de Programao da SBC ACM ICPC 2011 ca

Problema C

Campeonato de SMS
Nome do arquivo fonte: campeonato.c, campeonato.cpp, ou campeonato.java A S Birutas Celulares, uma renomada empresa do ramo de telefonia mvel, promove um o o campeonato de mensagens de texto todos os anos. Neste campeonato, ganha quem digitar uma dada mensagem mais rpido. a O aparelho ocial da competiao, de uso obrigatrio, tem um teclado muito simples, similar c o ao celular que voc provavelmente teria no bolso se aparelhos eletrnicos no fossem proibidos e o a durante a Maratona de Programaao. O teclado tem o seguinte layout: c

1 4
ghi

2
abc

3
def

5
jkl

6
mno

7
pqrs

8
tuv

9
wxyz

Como s permitido o uso dos polegares para pressionar as teclas, todas elas foram feitas oe quadradas, com 1 cent metro de lado, sem espao entre duas teclas adjacentes. c As teclas de 2 a 9 so usadas para digitar as letras de a a z, e funcionam como em a qualquer celular: se quisermos obter uma das letras associadas a uma das teclas, precisamos pression-la um nmero de vezes igual a posiao da letra desejada. Por exemplo, pressionando a u ` c a tecla 3 uma vez obtemos d. Se pressionarmos novamente, obteremos e e depois f. Se continuarmos pressionando-a obteremos o nmero 3 e depois reiniciamos em d. A tecla 0 u e utilizada para inserir espaos na mensagem; as teclas 1 e * no so utilizadas nesta competiao. c a a c No caso de termos duas letras consecutivas na mensagem que so formadas pela mesma a tecla ser necessrio fazer uso da tecla #. A funao desta tecla separar as sequncias de a a c e e pressionamentos de duas letras na mesma tecla. Por exemplo, para digitar a palavra casa, a sequncia de teclas pressionadas seria a seguinte: 2, 2, 2, #, 2, 7, 7, 7, 7, 2. e Para tornar as coisas mais interessantes, a organizao decidiu que este ano as mensagens ca devem ser digitadas em queda livre: os competidores pulam de um avio com o celular em mos a a e digitam a mensagem; um sosticado sistema computadorizado abrir o paraquedas automaa ticamente quando a mensagem tiver sido digitada sem erros. Entretanto, essa modicaao das c regras introduziu uma diculdade a mais: para evitar que o celular se perca durante a queda, necessrio utilizar um polegar para segurar o aparelho enquanto o outro pressiona uma tecla e a ou movido; ou seja, um dos polegares est sempre xo. e a Para satisfazer a curiosidade da platia, voc foi contratado para fazer um programa de come e putador que, dada uma mensagem de at 140 caracteres, responde o tempo m e nimo necessrio a para um competidor ideal digit-la no celular. Suponha que um competidor ideal consegue moa ver seus polegares a incr velocidade de 30 cent ` vel metros por segundo, leva apenas 2 dcimos e de segundo para pressionar uma tecla, inicia a queda livre com o polegar esquerdo sobre a tecla 4, o polegar direito sobre a tecla 6 e sempre pressiona as teclas perfeitamente em seus centros.

Maratona de Programao da SBC ACM ICPC 2011 ca

Entrada
A entrada composta por diversos casos de teste. Cada caso de teste descrito em uma linha e e contendo uma mensagem.

Sa da
Para cada caso de teste imprima uma linha contendo o tempo, em segundos, que nosso competidor ideal levaria para digitar a mensagem dada. Utilize duas casas decimais para exibir a resposta.

Restrioes c
Toda mensagem tem entre 1 e 140 caracteres, inclusive. Toda mensagem composta apenas de letras minsculas de a at z e espaos. e u e c Nenhuma mensagem contm acentos. e Nenhuma mensagem comea com espaos. c c Nenhuma mensagem termina com espaos. c Nenhuma mensagem contm espaos consecutivos. e c

Exemplos
Exemplo de entrada gol ogro casa garra paraquedas com defeito Exemplo de sa da 1.43 2.03 2.19 2.23 10.10

Maratona de Programao da SBC ACM ICPC 2011 ca

Problema D

Desvio de rua
Nome do arquivo fonte: desvio.c, desvio.cpp, ou desvio.java A prefeitura de uma grande cidade da Nlognia iniciou um programa de recuperao do o ca asfalto de suas ruas. Na Nlognia, cada rua liga diretamente dois cruzamentos, e pode ter mo o a unica ou mo dupla. Por determinaao de um antigo decreto real, sempre existe ao menos um a c caminho entre dois pontos quaisquer da cidade. No programa de recuperaao, uma unica rua ser recuperada por vez, e para isso a rua c a ser fechada para o trfego. Esse fechamento pode causar caos no trnsito local ao violar o a a a decreto real, impedindo vrios cidados de voltarem para casa dos seus trabalhos e vice-versa. a a A prefeitura pode converter algumas das ruas de mo unica em mo dupla, mas prefere evit-lo a a a pois ruas de mo dupla tendem a causar acidentes mais graves; a prefeitura prefere criar desvios a apenas invertendo as mos das ruas de mo unica j existentes. a a a O Rei da Nlognia solicitou seus prstimos para escrever um programa que, dada a descrio o e ca das ruas de uma cidade, determine se, quando uma dada rua interditada para recuperaao, e c continua existindo um caminho entre entre quaisquer dois pontos da cidade, mesmo que seja necessrio alterar as mos de direao de outras ruas. a a c

Entrada
A entrada composta por diversos casos de teste. A primeira linha de um caso de teste contm e e dois inteiros N e M , representando respectivamente o nmero de cruzamentos e o nmero de u u ruas da cidade. Os cruzamentos so identicados por inteiros de 1 a N e as ruas so identicadas a a por nmeros inteiros de 1 a M . Cada uma das M linhas seguintes descreve uma rua e contm u e trs inteiros A, B e T , onde A e B so os cruzamentos que a rua liga diretamente, e T indica e a a mo de direao da rua: se T = 1 a rua tem mo unica na direao de A para B; se T = 2, a a c a c rua tem mo dupla. A primeira rua descrita ser interditada para recuperao. a a ca

Sa da
Para cada caso de teste seu programa deve imprimir uma linha contendo um caractere que descreve o que a prefeitura deve fazer para respeitar o decreto real aps o fechamento da rua o para reformas: -: no necessrio qualquer tipo de alteraao nas outras ruas. a e a c *: imposs respeitar o decreto real, independente de quaisquer mudanas nas outras e vel c ruas. 1: poss cumprir o decreto real apenas invertendo as mos de algumas das ruas de e vel a mo unica. a 2: poss cumprir o decreto real, mas necessrio converter algumas ruas de mo e vel e a a unica para mo dupla. a

Maratona de Programao da SBC ACM ICPC 2011 ca

Restrioes c
1 N 103 1 M 105 1 A, B N T {1, 2}

Exemplos
Exemplo de entrada 3 1 2 3 3 1 2 3 2 1 5 3 1 2 3 2 4 3 2 3 1 3 2 3 1 1 2 6 4 3 4 5 1 1 2 2 2 1 1 1 2 1 2 2 2 1 1 Exemplo de sa da 2 * 1

Maratona de Programao da SBC ACM ICPC 2011 ca

Problema E

Estacionamento
Nome do arquivo fonte: estacionamento.c, estacionamento.cpp, ou estacionamento.java Um estacionamento utiliza um terreno em que os ve culos tm que ser guardados em la e unica, um atrs do outro. A tarifa tem o valor xo de R$ 10,00 por ve a culo estacionado, cobrada na entrada, independente de seu porte e tempo de permanncia. Como o estacionamento e e muito concorrido, nem todos os ve culos que chegam ao estacionamento conseguem lugar para estacionar. Quando um ve culo chega ao estacionamento, o atendente primeiro determina se h vaga a para esse ve culo. Para isso, ele percorre a p o estacionamento, do in ao m, procurando e cio um espao que esteja vago e tenha comprimento maior ou igual ao comprimento do ve c culo. Para economizar seu tempo e energia, o atendente escolhe o primeiro espao adequado que c encontrar; isto , o espao mais prximo do in e c o cio. Uma vez encontrada a vaga para o ve culo, o atendente volta para a entrada do estacionamento, pega o ve culo e o estaciona no comeo do espao encontrado. Se o atendente no c c a encontrar um espao adequado, o ve c culo no entra no estacionamento e a tarifa no cobrada. a a e Depois de estacionado, o ve culo no movido at o momento em que sai do estacionamento. a e e O dono do estacionamento est preocupado em saber se os atendentes tm cobrado correa e tamente a tarifa dos ve culos estacionados e pediu para voc escrever um programa que, dada e a lista de chegadas e sa das de ve culos no estacionamento, determina o faturamento total esperado.

Entrada
A entrada composta por diversos casos de teste. A primeira linha de um caso de teste e contm dois nmeros inteiros C e N que indicam respectivamente o comprimento em metros e u do estacionamento e o nmero total de eventos ocorridos (chegadas e sa u das de ve culos). Cada uma das N linhas seguintes descreve uma chegada ou sa da. Para uma chegada de ve culo, a linha contm a letra C, seguida de dois inteiros P e Q, todos separados por um espao em e c branco. P indica a placa do ve culo e Q o seu comprimento. Para uma sa de ve da culo, a linha contm a letra S seguida de um inteiro P , separados por um espao em branco, onde P e c indica a placa do ve culo. As aes so dadas na ordem cronolgica, ou seja, na ordem em que co a o acontecem. No in de cada caso de teste o estacionamento est vazio. No arquivo de entrada, um cio a ve culo sai do estacionamento somente se est realmente estacionado, e a placa de um ve a culo que chega ao estacionamento nunca igual a placa de um ve e ` culo j estacionado. a

Sa da
Para cada caso de teste seu programa deve imprimir uma linha contendo um nmero inteiro u representando o faturamento do estacionamento, em reais.

Maratona de Programao da SBC ACM ICPC 2011 ca

10

Restrioes c
1 C 1000 1 N 10000 1 Q 100 1000 P 9999

Exemplos
Exemplo de entrada 10 7 C 1234 C 1111 C 2222 C 4321 S 1111 C 2002 C 4321 30 10 C 1000 C 1001 C 1002 S 1000 S 1002 C 1003 S 1001 C 1004 S 1004 C 1005 20 10 C 1234 C 5678 S 1234 C 1234 C 5678 S 1234 C 5678 C 1234 C 5555 S 5678 5 4 4 3 6 3 10 10 10 Exemplo de sa da 30 50 40

20 20 30 20 1 20 1 1 20 1

Maratona de Programao da SBC ACM ICPC 2011 ca

11

Problema F

Foco
Nome do arquivo fonte: foco.c, foco.cpp, ou foco.java Daniel est fazendo um curso de Viso Computacional e decidiu reproduzir um trabalho a a muito interessante visto em aula: ele tirou vrias fotos de uma mesma cena, variando apenas a o foco, para depois combin-las em uma unica imagem onde todos os objetos da cena esto a a n tidos simultaneamente. Para tal, ele precisa que cada objeto aparea n c tido em ao menos uma foto. Daniel sabe que, para cada objeto, existe um intervalo fechado de planos de foco no qual aquele objeto ca n tido. Por exemplo, na gura abaixo, (i), (ii) e (iii) so trs fotos da mesma a e cena, cada uma tirada com um foco diferente; (iv) a imagem combinada gerada por Daniel. e

(i)

(ii)

(iii)

(iv)

Como o carto de memria de sua cmera pequeno, ele pediu sua ajuda para, dados os a o a e intervalos de foco de todos os objetos da cena que pretende fotografar, determinar o nmero u m nimo de fotos que ele deve tirar para que seja poss deixar cada objeto n vel tido em pelo menos uma foto.

Entrada
A entrada composta por diversos casos de teste. A primeira linha de cada caso de teste contm e e um inteiro N indicando o nmero de objetos na cena. Cada uma das N linhas seguintes contm u e dois inteiros A e B indicando os extremos do intervalo de foco de cada objeto.

Sa da
Para cada caso de teste, imprima uma linha contendo um inteiro indicando o menor nmero u de fotos que Daniel deve tirar.

Restrioes c
1 N 106 1 A B 109

Maratona de Programao da SBC ACM ICPC 2011 ca

12

Exemplos
Exemplo de entrada 3 1 2 4 5 1 5 3 5 1 3 5 6 2 6 4 6 2 Exemplo de sa da 2 3

Maratona de Programao da SBC ACM ICPC 2011 ca

13

Problema G

Guarda Costeira
Nome do arquivo fonte: guarda.c, guarda.cpp, ou guarda.java Pega ladro! Pega ladro! Roubaram a bolsa de uma inocente senhora que caminhava a a na praia da Nlognia e o ladro fugiu em direao ao mar. Seu plano parece obvio: ele pretende o a c pegar um barco e escapar! O fugitivo, que a essa altura j est a bordo de sua embarcaao de fuga, pretende seguir a a c perpendicularmente ` costa em direo ao limite de aguas internacionais, que ca a 12 milhas a ca nuticas de distncia, onde estar so e salvo das autoridades locais. Seu barco consegue a a a a percorrer essa distncia a uma velocidade constante de VF ns. a o A Guarda Costeira pretende intercept-lo, e sua embarcao tem uma velocidade constante a ca de VG ns. Supondo que ambas as embarcaoes partam da costa exatamente no mesmo instante, o c com uma distncia de D milhas nuticas entre elas, ser poss a Guarda Costeira alcanar o a a a vel c ladro antes do limite de aguas internacionais? a Assuma que a costa da Nlognia perfeitamente retil o e nea e o mar bastante calmo, de forma a permitir uma trajetria to retil o a nea quanto a costa.

Entrada
A entrada composta por diversos casos de teste. Cada caso de teste descrito em um linha e e contendo trs inteiros, D, VF e VG , indicando respectivamente a distncia inicial entre o fugitivo e a e a Guarda Costeira, a velocidade da embarcaao do fugitivo e a velocidade da embarcao da c ca Guarda Costeira.

Sa da
Para cada caso de teste imprima uma linha contendo S se for poss que a Guarda Costeira vel alcance o fugitivo antes que ele ultrapasse o limite de aguas internacionais ou N caso contrrio. a

Restrioes c
1 D 100 1 VF 100 1 VG 100

Maratona de Programao da SBC ACM ICPC 2011 ca

14

Exemplos
Exemplo de entrada 5 1 12 12 10 7 12 9 10 10 5 5 9 12 15 Exemplo de sa da S N N N S

Maratona de Programao da SBC ACM ICPC 2011 ca

15

Problema H

Homem, Elefante e Rato


Nome do arquivo fonte: homem.c, homem.cpp, ou homem.java Um jogo muito popular na Nlognia o Homem, Elefante e Rato. Ele tipicamente jogado o e e com apenas dois jogadores, e funciona da seguinte forma: cada jogador secretamente escolhe um dos trs s e mbolos e, aps uma contagem regressiva, ambos revelam simultaneamente o s o mbolo escolhido atravs de sinais manuais, estendendo a sua frente uma das mos sinalizando sua e ` a escolha. O Homem representado pela mo fechada, como a cabea de um homem. O Elefante e a c e representado pela mo aberta, exibindo os cinco dedos, como a pata do elefante nlogonense. Por a m, o Rato representado pela mo fechada, com o dedo indicador e o dedo mdio esticados, e a e como as orelhas do pequeno animal.

Figura 1: Os trs s e mbolos do jogo Homem, Elefante e Rato. Para determinar o vencedor muito simples: o Homem sempre perde para o Elefante (pois e esmagado debaixo de sua pata), o Elefante sempre perde para o Rato (pois tem medo dele e e foge correndo) e o Rato sempre perde para o Homem (que espalha ratoeiras para captur-lo). a Se dois jogadores utilizarem o mesmo s mbolo, ocorre um empate e joga-se novamente. Os habitantes da Nlognia, que so estrategistas natos de Homem, Elefante e Rato, utilizam o a a seguinte tcnica no campeonato nacional, realizado todos os anos: comeam sempre jogando e c Homem at o momento em que este s e mbolo causa empates com a maioria dos oponentes. Eles ento trocam sua estratgia para o s a e mbolo que ganha daquele que usavam anteriormente. Assim, os jogadores vo mudar de Homem para Elefante, depois para Rato, depois de volta a a Homem. Para auxiliar um famoso competidor estrangeiro de um jogo parecido, que quase, mas no e a completamente diferente de Homem, Elefante e Rato, voc ir desenvolver um programa que e a contabiliza quantos jogadores iro utilizar cada s a mbolo. Suponha que todos os N jogadores so dispostos em la e identicados pela sua posio, a ca de 1 a N . Seu programa dever processar M comandos, de dois tipos: mudana de s a c mbolo e contar a frequncia dos s e mbolos. Ambos os comandos recebem um intervalo cont guo de jogadores na la a serem considerados.

Entrada
A entrada composta por diversos casos de teste. Cada caso de teste comea com uma linha e c contendo dois inteiros N e M que representam, respectivamente, o nmero de jogadores no u campeonato e o nmero de operaoes. u c

Maratona de Programao da SBC ACM ICPC 2011 ca

16

As prximas M linhas contm cada uma a descrio de uma operaao. Operaoes de muo e ca c c dana de estratgia sero representadas por uma linha da forma M A B onde A e B so c e a a inteiros. Os jogadores cuja estratgias sero alteradas so aqueles cuja posiao na la est e a a c a entre A e B, inclusive. Operaoes de contagem sero representadas por uma linha da forma C A B onde A e B c a so inteiros representando o intervalo de jogadores que devero ser considerados na contagem. a a Levaremos em conta os jogadores cuja posio na la est entre A e B, inclusive. ca a

Sa da
Para cada operaao de contagem, imprima uma linha contendo trs inteiros indicando respecc e tivamente o nmero de s u mbolos Homem, Elefante e Rato que so usados pelos jogadores no a intervalo dado. Imprima tambm uma linha em branco aps cada caso de teste, inclusive aps o ultimo caso e o o de teste da entrada.

Restrioes c
1 N 105 0 M 106 1ABN

Exemplos
Exemplo de entrada 10 7 C 1 10 M 5 6 C 5 6 M 6 7 C 4 8 M 1 10 C 1 10 5 6 M 1 5 M 2 4 M 1 2 M 4 5 C 1 5 C 3 4 Exemplo de sa da 10 0 0 0 2 0 2 2 1 1 7 2 2 0 3 1 0 1

Maratona de Programao da SBC ACM ICPC 2011 ca

17

Problema I

Incidente em Atlntida a
Nome do arquivo fonte: incidente.c, incidente.cpp, ou incidente.java No ano de 2222 B.C.E., uma terr tragdia ocorreu na ilha de Atlntida, mas at hoje vel e a e s se sabe do ocorrido pelos relatos histricos; ningum nunca encontrou evidncia f o o e e sica do incidente. Para remediar essa situaao, o Doutor Quem resolveu usar a sua mquina do tempo c a para voltar a Atlntida logo antes do desastre. a Precavido, assim que chegou a Atlntida o Doutor quem instalou um portal temporal, que a o trar imediatamente ao tempo atual. Ele iniciou ento sua exploraao, e o que descobriu a a c foi surpreendente: Atlntida uma ilha circular, sobre a qual foi fundada uma civilizao a e ca extremamente avanada; prova disso so as vrias cabines da rede de teletransportadores que c a a foi constru na ilha. As cabines operam atravs de raios de luz e portanto s poss da e o e vel teletransportar se existir uma linha de viso desobstru entre a cabine de origem e a cabine a da de destino. No por acaso, elas so algumas das construoes mais imponentes da ilha, com a a c dezenas de metros de altura, mais baixas apenas do que os gigantes murais que descrevem a histria de Atlntida desde a sua fundaao. Os murais so enormes muros de concreto, que o a c a dicultam a explorao do Doutor Quem pois no podem ser transpostos, obrigando o famoso ca a cientista a contorn-los para prosseguir em seu caminho. a

posio atual do Dr. Quem posio do portal temporal cabine de teletransportador mural linha de viso entre teletransportadores

Ao explorar a ilha, o Doutor Quem se mostrou surpreso em encontr-la deserta. Depois de a muito reetir, tornou-se obvio o porqu: ele programou mal sua mquina do tempo, e chegou e a imediatamente antes do maremoto que destruiu Atlntida (os gelogos atlntidos j haviam a o a a previsto o maremoto e ordenado a evacuaao imediata da ilha). Tomando cincia desse fato, o c e Doutor Quem imediatamente tratou de planejar a sua fuga. Para voltar ao portal temporal, ele pretende utilizar os teletransportadores, mas ele descobriu que, devido ao maremoto, o sistema de energia s tem capacidade para um nmero o u limitado de teletransportes. Ele quer saber a menor distncia que ele precisa andar at chegar a e no portal temporal, e por isso precisa da sua ajuda.

Entrada
A entrada composta por diversos casos de teste. A primeira linha de cada caso de teste e contm trs inteiros T , M e C, indicando respectivamente a quantidade de vezes que a rede de e e teletransporte ainda pode ser usada, o nmero de murais em Atlntida e o nmero de cabines u a u de teletransporte.

Maratona de Programao da SBC ACM ICPC 2011 ca

18

As M linhas seguintes descrevem os murais, que so todos retil a neos: cada linha contm e quatro inteiros X1 , Y1 , X2 e Y2 indicando as coordenadas das extremidades de cada mural. Os murais tm espessura desprez e vel, e nenhum par de murais se intersecta, nem mesmo nas extremidades. As C linhas seguintes descrevem a posiao das cabines: cada linha contm dois inteiros XC c e e YC indicando a posiao de uma cabine de teletransporte. c Finalmente, a ultima linha do caso de teste contm quatro inteiros XQ , YQ , XP e YP e indicando as coordenadas da posio inicial do Doutor Quem e do portal, respectivamente. ca

Sa da
Para cada caso de teste na entrada o seu programa deve imprimir em uma unica linha, com uma casa decimal, a distncia que o Doutor Quem precisa andar para chegar em seu portal, a sem contar as distncias percorridas nos teletransportadores. a

Restrioes c
0 T, M, C 50 As coordenadas de cada ponto na entrada tm valor absoluto menor ou igual a 2 104 . e O centro da ilha o ponto (0, 0) e seu raio 105 . e e As posioes do Doutor Quem, do portal temporal e das cabines de teletransporte so c a todas distintas e no esto sobre murais. a a

Maratona de Programao da SBC ACM ICPC 2011 ca

19

Exemplos
Exemplo de entrada 1 1 3 5 -4 5 4 1 0 5 5 9 0 0 0 10 0 1 1 3 10 -10 10 10 1 0 5 0 9 0 0 0 11 0 1 1 2 5 0 5 5 1 0 9 0 0 0 10 0 Exemplo de sa da 8.1 21.1 10.0

Potrebbero piacerti anche