• Nenhum resultado encontrado

ACM International Collegiate Programming Contest 2004 Brazil Sub-Regional 1. Problem A Help!

N/A
N/A
Protected

Academic year: 2022

Share "ACM International Collegiate Programming Contest 2004 Brazil Sub-Regional 1. Problem A Help!"

Copied!
12
0
0

Texto

(1)

ACM International Collegiate Programming Contest 2004 – Brazil Sub-Regional 1

Problem A

Help!

Well, we have to admit: we need your help. This year things have not been running as smoothly as we wished, and we could not finish the contest system software in time. One vital part is missing, and as you know, we need the system working by this afternoon, for the real contest.

The missing part is the module that computes the team’s scores, given the team’s list of submissions.

Please, please, someone help us!

Input

The input contains several test cases. The first line of a test case contains a single integer N indicating the number of submissions in the test (1≤N ≤300). Each of the following N lines describe a submission; each of these lines contains a problem identifier (a single letter from ’A’

to ’Z’), followed by an integer T representing the time in minutes (0 ≤T ≤300), followed by a judgement (the word “correct” or the word “incorrect”). The input is in ascending order by time, and there will be at most one “correct” judgement for each problem. The end of input is indicated byN = 0.

The input must be read from standard input.

Output

For each test case in the input your program should output a line containing two integers S and P, separated by a space, where S is the number of distinct problems with a “correct”

judgement and P is the time at which each distinct problem is first judged “correct”, plus 20 for each “incorrect” submission for a problem that is later judged “correct”.

The output must be written to standard output.

(2)

ACM International Collegiate Programming Contest 2004 – Brazil Sub-Regional 2

Sample Input 3

A 120 incorrect A 130 incorrect A 200 incorrect 5

A 100 correct B 110 incorrect B 111 correct C 200 correct D 300 incorrect 0

Output for the sample input 0 0

3 431

(3)

ACM International Collegiate Programming Contest 2004 – Brazil Sub-Regional 3

Problem B

Head or Tail

John and Mary have been friends since nursery school. Since then, they have shared a playful routine: every time they meet, they play Head or Tail with a coin, and whoever wins has the priviledge of deciding what they are going to play during the day. Mary always choose Head, and John always choose Tail.

Nowadays they are in college, but continue being truly good friends. Whenever they meet, they still play Head and Tail, and the winner decides which film to watch, or which restaurant to have dinner together, and so on.

Yesterday Mary confided to John that she has being keeping a record of the results of every play since they started, in nursery school. It came as a surprise to John! But since John is studying Computer Science, he decided it was a good opportunity to show Mary his skills in programming, by writing a program to determine the number of times each of them won the game over the years.

Input

The input contains several test cases. The first line of a test case contains a single integer N indicating the number of games played (1 ≤ N ≤ 10000). The following line contains N integers Ri, separated by space, describing the list of results. IfRi = 0 it means Mary won the ith game, ifRi = 1 it means John won theith game (1 ≤i≤N). The end of input is indicated byN = 0.

The input must be read from standard input.

Output

For each test case in the input your program should output a line containing the sentence “Mary won X times and John won Y times”, where X ≥0 andY ≥0.

The output must be written to standard output.

Sample Input 5

0 0 1 0 1 6

0 0 0 0 0 1 0

Output for the sample input

Mary won 3 times and John won 2 times Mary won 5 times and John won 1 times

(4)

Vocˆe pode dizer 11

Segunda Seletiva para Maratona de Programacao UFRN – 2005

modificado porLu´ıs Fernando Schultz Xavier da Silveira

Enunciado

A sua tarefa ´e, dado um n´umero positivo, determinar se ele ´e um m´ultiplo de onze.

Entrada

A entrada ´e um arquivo onde cada linha cont´em um n´umero positivo. Uma linha contendo o n´umero 0 sinaliza o fim da entrada.

Os n´umeros dados podem conter at´e 1000 d´ıgitos.

Sa´ıda

A sa´ıda do programa deve indicar, para cada n´umero da entrada, se ele ´e um m´ultiplo de onze ou n˜ao.

Exemplo de Entrada Exemplo de Sa´ıda

112233 30800 2937 323455693 5038297 112234 0

112233 is a multiple of 11.

30800 is a multiple of 11.

2937 is a multiple of 11.

323455693 is a multiple of 11.

5038297 is a multiple of 11.

112234 is not a multiple of 11.

1

(5)

Maratona de Programa¸c˜ao da SBC – ACM ICPC – 2008 6

Problema D

Dama

Nome do arquivo fonte: dama.c,dama.cpp ou dama.java

O jogo de xadrez possui v´arias pe¸cas com movimentos curiosos: uma delas ´e a dama, que pode se mover qualquer quantidade de casas na mesma linha, na mesma coluna, ou em uma das duas diagonais, conforme exemplifica a figura abaixo:

O grande mestre de xadrez Kary Gasparov inventou um novo tipo de problema de xadrez:

dada a posi¸c˜ao de uma dama em um tabuleiro de xadrez vazio (ou seja, um tabuleiro 8×8, com 64 casas), de quantos movimentos, no m´ınimo, ela precisa para chegar em outra casa do tabuleiro?

Kary achou a solu¸c˜ao para alguns desses problemas, mas teve dificuldade com outros, e por isso pediu que vocˆe escrevesse um programa que resolve esse tipo de problema.

Entrada

A entrada cont´em v´arios casos de teste. A primeira e ´unica linha de cada caso de teste cont´em quatro inteirosX1,Y1,X2 eY2(1≤X1, Y1, X2, Y2 ≤8). A dama come¸ca na casa de coordenadas (X1, Y1), e a casa de destino ´e a casa de coordenadas (X2, Y2). No tabuleiro, as colunas s˜ao numeradas da esquerda para a direita de 1 a 8 e as linhas de cima para baixo tamb´em de 1 a 8. As coordenadas de uma casa na linhaX e coluna Y s˜ao (X, Y).

O final da entrada ´e indicado por uma linha contendo quatro zeros.

Os dados devem ser lidos da entrada padr˜ao.

Sa´ıda

Para cada caso de teste da entrada seu programa deve imprimir uma ´unica linha na sa´ıda, contendo um n´umero inteiro, indicando o menor n´umero de movimentos necess´arios para a dama chegar em sua casa de destino.

O resultado de seu programa deve ser escrito na sa´ıda padr˜ao.

Exemplo de entrada

4 4 6 2 3 5 3 5 5 5 4 3 0 0 0 0

Exemplo de sa´ıda

1 0 2

(6)

Maratona de Programa¸c˜ao da SBC – ACM ICPC – 2008 7

Problema E

Bolhas e Baldes

Nome do arquivo fonte: bolhas.c, bolhas.cpp ou bolhas.java

Andrea, Carlos e Marcelo s˜ao muito amigos e passam todos os finais de semana `a beira da piscina. Enquanto Andrea se bronzeia ao sol, os dois ficam jogando Bolhas. Andrea, uma cientista da computa¸c˜ao muito esperta, j´a disse a eles que n˜ao entende por que passam tanto tempo jogando um jogo t˜ao prim´ario.

Usando o computador port´atil dela, os dois geram um inteiro aleat´orio N e uma seq¨uˆencia de inteiros, tamb´em aleat´oria, que ´e uma permuta¸c˜ao de 1,2, . . . , N.

O jogo ent˜ao come¸ca, cada jogador faz um movimento, e a jogada passa para o outro jogador.

Marcelo ´e sempre o primeiro a come¸car a jogar.

Um movimento de um jogador consiste na escolha de um par de elementos consecutivos da seq¨uˆencia que estejam fora de ordem e em inverter a ordem dos dois elementos. Por exemplo, dada a seq¨uˆencia 1,5,3,4,2, o jogador pode inverter as posi¸c˜oes de 5 e 3 ou de 4 e 2, mas n˜ao pode inverter as posi¸c˜oes de 3 e 4, nem de 5 e 2. Continuando com o exemplo, se o jogador decide inverter as posi¸c˜oes de 5 e 3 ent˜ao a nova seq¨uˆencia ser´a 1,3,5,4,2.

Mais cedo ou mais tarde, a seq¨uˆencia ficar´a ordenada. Perde o jogador impossibilitado de fazer um movimento.

Andrea, com algum desd´em, sempre diz que seria mais simples jogar cara ou coroa, com o mesmo efeito. Sua miss˜ao, caso decida aceit´a-la, ´e determinar quem ganha o jogo, dada a seq¨uˆencia inicial.

Entrada

A entrada cont´em v´arios casos de teste. Os dados de cada caso de teste est˜ao numa ´unica linha, e s˜ao inteiros separados por um espa¸co em branco. Cada linha cont´em um inteiro N, 2 ≤ N ≤ 105, seguido da seq¨uˆencia inicial P = (X1, X2, . . . , XN) de N inteiros distintos dois a dois, onde 1 ≤ Xi ≤ N para 1 ≤ i ≤ N. O final da entrada ´e indicado por uma linha que cont´em apenas o n´umero zero.

Os dados devem ser lidos da entrada padr˜ao.

Sa´ıda

Para cada caso de teste da entrada seu programa deve imprimir uma ´unica linha, com o nome do vencedor, igual a Carlos ou a Marcelo, sem espa¸cos em branco.

O resultado de seu programa deve ser escrito na sa´ıda padr˜ao.

Exemplo de entrada

5 1 5 3 4 2 5 5 1 3 4 2 5 1 2 3 4 5 6 3 5 2 1 4 6 5 5 4 3 2 1 6 6 5 4 3 2 1 0

Exemplo de sa´ıda

Marcelo Carlos Carlos Carlos Carlos Marcelo

(7)

Josephus

Treino para a Maratona de Programa¸c˜ao – UFSC

Lu´ıs Fernando Schultz Xavier da Silveira

Enunciado

Josephus foi um historiador judeu que presenciou a invas˜ao romana `a cidade de Yodfat. De acordo com seus registros, ele e seus colegas soldados recuaram para dentro de uma caverna que foi, logo em seguida, cercada pelo ex´ercito romano.

Contr´arios a id´eia de se tornarem cidad˜aos romanos e crist˜aos, eles votaram por cometer suic´ıdio. Os soldados votaram a favor, mas Josephus se opˆos, n˜ao querendo pˆor fim `a sua vida. No entanto, a maioria venceu.

Eles usaram o seguinte m´etodo de suic´ıdio: primeiro eles se numeraram com os n´umeros de 1 an (n´e o n´umero de judeus, incluindo Josephus) de forma que n˜ao houve duas pessoas distintas com o mesmo n´umero. Depois, eles se dispuseram em um c´ırculo de forma que a pessoa `a direita da pessoaiera a pessoa (imodn) + 1. Uma pedra foi ent˜ao colocada na m˜ao da pessoa com o n´umero 2. Ap´os isso, enquanto havia ao menos duas pessoas vivas, quem estava segurando a pedra se matava e a pedra era passada duas posi¸c˜oes `a direita no c´ırculo restante.

Por exemplo, se houvessem 8 judeus (incluindo Josephus) na caverna, eles morreriam na seguinte ordem: 2, 4, 6, 8, 3, 7 e 5.

O judeu n´umero 1 deveria ent˜ao cometer suic´ıdio.

Josephus disse em seus registros que ele foi capaz de calcular onde ele deveria se posicionar no c´ırculo de modo que ele fosse a ´ultima pessoa a tocar na pedra. Isso permitiu que ele escapasse a morte, visto que n˜ao restou ningu´em para for¸c´a-lo a se suicidar.

Neste problema, vocˆe dever´a calcular onde Josephus se posicionou para se salvar.

Entrada

A entrada ´e composta por diversos n´umeros inteiros escritos em bin´ario sem zeros `a esquerda, cada um em sua pr´opria linha. Se n´e um desses n´umeros, ent˜ao 36n6265536.

Sa´ıda

Para cada n´umeronda entrada, em ordem, imprima na sa´ıda, em bin´ario e sem zeros `a esquerda, o n´umero atribu´ıdo a Josephus assumindo que existiamnjudeus (incluindo Josephus) na caverna.

Exemplo de Entrada Exemplo de Sa´ıda

11 100

11 1

1

(8)

Problema G: Elementar, meu caro Watson!

Arquivo: wcw.[c|cpp|java]

Watson, Crick e Wilkins receberam em 1962 o prêmio Nobel de Medicina especialmente pelo seu trabalho que resultou na descoberta da estrutura das moléculas do DNA e na sua importância na transmissão de informações entre as gerações de seres vivos. Watson e Crick publicaram na revista

“Nature” em 1953 o artigo em que mostravam que a molécula de DNA apresentava uma estrutura de dupla hélice. O artigo assume enorme importância nos dias de hoje, especialmente depois dos vários avanços na área.

Muitas pesquisas têm sido feitas na área de Bioinformática ligadas à descoberta da seqüência de bases que compõem as moléculas de DNA dos vários seres vivos. Em especial, a estrutura destas moléculas tem sido usada para compor teorias de como os seres vivos evoluíram e quais têm ancestrais comuns. Acredita-se que os seres vivos presentes hoje no planeta podem descender de ancestrais comuns, sendo que as modificações nos seus respectivos DNAs são devidas a fenômenos de mutação ocorridos durante a evolução. Muitos biólogos acreditam no princípio da parcimônia, que diz que o número destas mutações deve ser o mínimo possível, uma vez que a Natureza busca, de certa forma, o caminho “mais barato” para a modificação desejada.

Sua tarefa neste problema é auxiliar os pesquisadores na tarefa de determinar se duas seqüências de DNA podem ter um ancestral comum. Considere dadas duas seqüências (podemos imaginar como seqüências de números inteiros). O seu objetivo é determinar o menor número de trocas de elementos de uma das seqüências (os elementos não precisam estar em posições adjacentes na seqüência) que leva uma das seqüências na outra. Observe que podemos considerar uma das seqüências fixa (por exemplo, em ordem crescente), dessa forma buscamos o número mínimo de tais trocas que ordena a seqüência dada.

Entrada

A entrada é composta por diversas instâncias. A primeira linha da entrada contém um inteiro T indicando o número de instâncias.

A primeira linha de cada instância possui um inteiroN (1 ≤N ≤10000) indicando o número de inteiros na seqüência. A segunda linha contém uma permutação dos inteiros 1,2, .., N separados por espaço.

Saída

Para cada instância imprima uma linha contendo o número mínimo de tais trocas que ordena a seqüência dada.

Exemplo de entrada

2 5

2 3 4 5 1 5

2 1 4 5 3

Exemplo de saída

4 3

12

(9)

ACM ICPC2007 – South American Regionals 15

Problem H

He is offside!

Source file name: he.c,he.cpp or he.java

Hemisphere Network is the largest television network in Tumbolia, a small country located east of South America (or south of East America). The most popular sport in Tumbolia, unsurprisingly, is soccer; many games are broadcast every week in Tumbolia.

Hemisphere Network receives many requests to replay dubious plays; usually, these happen when a player is deemed to be offside by the referee. An attacking player is offside if he is nearer to his opponents’ goal line than the second last opponent. A player is not offside if

• he is level with the second last opponent or

• he is level with the last two opponents.

Through the use of computer graphics technology, Hemisphere Network can take an image of the field and determine the distances of the players to the defending team’s goal line, but they still need a program that, given these distances, decides whether a player is offside.

Input

The input file contains several test cases. The first line of each test case contains two integers A and D separated by a single space indicating, respectively, the number of attacking and defending players involved in the play (2 ≤A, D ≤ 11). The next line contains A integers Bi

separated by single spaces, indicating the distances of the attacking players to the goal line (1≤Bi ≤104). The next line contains DintegersCj separated by single spaces, indicating the distances of the defending players to the goal line (1≤Cj ≤104). The end of input is indicated byA=D= 0.

The input must be read from standard input.

Output

For each test case in the input print a line containing a single character: “Y” (uppercase) if there is an attacking player offside, and “N” (uppercase) otherwise.

The output must be written to standard output.

(10)

ACM ICPC2007 – South American Regionals 16

Sample input

2 3 500 700 700 500 500 2 2

200 400 200 1000 3 4

530 510 490 480 470 50 310 0 0

Output for the sample input

N Y N

(11)

Dinner Problem

ao Paulo Training Camp 2010

Andrew Stankevich Contest 28, Tuesday, January 19, 2009

byPetr Mitrichev

modified byLu´ıs Fernando Schultz Xavier da Silveira

Statement

A group of k students from Cooking University living in the campus decided that each day of the semester one of them will prepare the dinner for the whole company. The semester lasts for n days. In sake of fairness they decided that each of the students must prepare the dinner at least once during the semester. Now they wonder how many ways are there to plan the semester – to decide for each day which student would make a dinner that day. Help them to find that out.

Input

The input file contains several pairs of integer numbersk andn(16k6n6300).

Output

For each pair (k, n) in the input, output one integer – the number of ways modulo 65537.

Sample Input Sample Output

2 3 6

Note

In the example above, there are six ways: (1,1,2), (1,2,1), (2,1,1), (1,2,2), (2,1,2) and (2,2,1).

1

(12)

Pizza do Luigi

Treino para a Maratona de Programa¸c˜ao – UFSC

Lu´ıs Fernando Schultz Xavier da Silveira

Enunciado

M´ario foi comer uma pizza de mussarela na pizzaria do Luigi. Sabendo que h´a uma pessoa com fome tentando resolver este problema, Luigi se recusou a fazer a pizza de M´ario. Depois de muita discuss˜ao envolvendo a possibilidade de se chamar o PROCON (Programa¸c˜ao Concorrente), Luigi consentiu em fazer a pizza, mas com uma condi¸c˜ao.

M´ario iria escolher um n´umerone Luigi iria marcarnpontos distintos na borda da pizza assim que ela ficasse pronta. Esses pontos seriam tais que qualquer ponto no interior da pizza pertenceria a no m´aximo dois segmentos distintos formados por pares desses pontos. Luigi iria ent˜ao, para cada par de pontosAeB, cortar o segmentoABcom seu cortador de pizza.

M´ario escolheu n= 5, e isso lhe rendeu 16 peda¸cos de pizza (ver figura). Depois de comer a pizza, ele ficou intrigado com a seguinte quest˜ao: se ele tivesse escolhido um valor geral para n, quantos peda¸cos sobrariam ap´os os cortes? Mas M´ario n˜ao tem tempo para resolver quebra-cabe¸cas, pois ele tem que viajar a uma terra distante e esquisita para resgatar uma princesa em apuros. Ent˜ao ele contratou vocˆe para escrever um programa que computa a resposta geral do problema. M´ario quer rodar esse programa em seu GameBoyTM para se divertir durante a viagem. Mas como cabem poucos d´ıgitos na tela do aparelho, M´ario se interessa apenas pelos ´ultimos 9 d´ıgitos (os menos significativos) do n´umero de peda¸cos de pizza.

Entrada

A entrada ser´a composta de diversas linhas, cada uma contendo um n´umero inteiro. Sen´e um desses n´umeros, ent˜ao 16n6109.

Sa´ıda

Para cada n´umeron da entrada, em ordem, imprima uma linha contendo os ´ultimos 9 d´ıgitos do n´umero de peda¸cos de pizza que M´ario iria ter obtido caso escolhesse ncomo o n´umero de pontos que Luigi iria marcar na borda da pizza. Coloque d´ıgitos redundantes (se for necess´ario) nesse n´umero de forma que ele tenha exatamente 9 d´ıgitos.

Exemplo de Entrada Exemplo de Sa´ıda

1 2 34 5

000000001 000000002 000000004 000000008 000000016

1

Referências

Documentos relacionados

O método escolhido para a realização deste estudo foi à pesquisa qualitativa, de cunho exploratório, que foi realizada com mulheres que residem na comunidade de São Jorge,

Novos estu- dos devem ser realizados para se compararem os achados radiográficos de consolidação nas fraturas do sistema estomatognático, após a fixação dos fragmentos, uma vez que

Já que os apóstolos foram os sucessores dos profetas do Antigo Testamento, não há, pois, hoje, possibilidade de haver apóstolos como os doze e Paulo, pois eles

Caso não seja encontrada nenhuma placa, ou caso o hardkey não esteja autorizado ou não foi encontrado, o objeto Reconhecimento conterá uma string vazia como

Existem 4 métodos de planejamento mais comuns usados para lidar com o ambientes

Este estudo teve como objetivo verificar a aceitação (consumo) das rações pelos juvenis de tilápia do Nilo, linhagem Chitralada, e avaliar os efeitos da

1) Encontrar a pessoa que topa realizar uma genealogia parcial com você (mais ou menos duas sessões) e conversas focadas (variável em número) sobre uma ou duas pessoas migrantes

Para navegar pelas regulamentações de valores mobiliários incertos e garantir total conformidade, OKGlobal Coin, SWITCH (a estrutura/software subjacente para transferência e