Exemplos de Tarefas

Propaganda
O que é
O objetivo desta modalidade é descobrir talentos potenciais para a programação de
computadores. Por isso, deve ficar bem claro que não é necessário conhecimento
prévio de programação de computadores – a prova é realizada com papel e lápis.
Raciocínio lógico é mais importante do que experiência na utilização de
computadores. Veja exemplos de tarefas que são utilizadas nas provas.
Os melhores classificados de cada uma das categorias, serão convidados para
participar de um Curso de Programação, no Instituto de Computação da UNICAMP.
Exemplos de Tarefas
A prova da Modalidade Iniciação Nível 2 conterá basicamente dois tipos de tarefas:
tarefas de lógica e tarefas de computação. Alguns exemplos desses tipos de
questões são:
Provas de OBIs passadas



OBI2003 (gabarito comentado)
OBI2004
OBI2005
Tarefas de Lógica

Natação
Tarefas de Computação






Temperatura Lunar (fácil)
Rede ótica (difícil)
Depois da Festa (média)
Carga Pesada (média)
Desordens (médio)
Cubos (difícil)
Natação
Na última Olimpíada Interna da escola, exatamente sete alunos - Pedro, José,
Ricardo, Sandro, Tiago, Hugo, e Valdir - participaram de todas as provas de
natação.Todos os alunos terminaram todas as provas, e não houve empates nas
provas. Em todas as provas Valdir terminou na frente de Pedro, e o Pedro sempre
terminou na frente de José. Em todas as provas, ou Ricardo terminou em primeiro
e Tiago terminou em último, ou Sandro terminou em primeiro e Hugo ou José
terminou em último.
1. (10 pontos) Se, em uma prova, Ricardo terminou em primeiro, Valdir não pode
ter terminado esta prova numa posição abaixo de:
(a) segundo
(b) terceiro
(c) quarto
(d) quinto
(e) sexto
2. (10 pontos) Se, em uma prova, Sandro terminou em segundo, qual das
afirmativas pode ser verdadeira em relação a esta prova?
(a) Pedro terminou antes de Ricardo.
(b) Valdir terminou antes de Sandro.
(c) Pedro terminou antes de Valdir.
(d) Tiago terminou antes de José.
(e) Hugo terminou antes de Valdir.
3. (10 pontos) Se, em uma prova, Ricardo terminou em segundo e José terminou
em quinto, qual das alternativas abaixo tem que ser verdadeira em relação a esta
prova? (10 pontos)
(a) Sandro terminou em terceiro.
(b) Pedro terminou em terceiro.
(c) Valdir terminou em quarto.
(d) Tiago terminou em sexto.
(e) Hugo terminou em sexto.
Temperatura Lunar
Sem as proteções da atmosfera e do cinturão magnético que existem na Terra, a
Lua fica exposta ao ataque do Sol, que é um astro em constante explosão atômica.
As explosões do Sol emitem ondas letais de partículas. Uma pessoa que ficasse
desprotegida na superfície da Lua, num lugar onde o Sol incidisse diretamente,
sofreria um bombardeio radioativo tão intenso quanto se estivesse nas imediações
da usina russa de Chernobyl no momento do que matou 31 pessoas, em 1986.
Além da radiação solar, outro efeito desta falta de proteção contra o Sol que existe
na Lua é a enorme variação de temperatura. Nas regiões próximas do equador
lunar, a variação de temperatura é brutal, passando de cerca de 130 graus
positivos durante o dia a 129 graus negativos à noite. Para estudar com mais
precisão as variações de temperatura na superfície da Lua, a NASA enviou à Lua
uma sonda com um sensor que mede a temperatura de 1 em 1 minuto. Um dado
importante que os pesquisadores desejam descobrir é como se comporta a média
da temperatura, considerada em intervalos de uma dada duração (uma hora, meia
hora, oito horas, etc.). Por exemplo, para a seqüência de medições 8, 20, 30, 50,
40, 20, -10, e intervalos de quatro minutos, as médias são respectivamente
108/4=27, 140/4=35, 140/4=35 e 100/4=25.
1. Tarefa
Você foi recentemente contratado pela NASA, e sua primeira tarefa é, a partir de
algumas seqüências de temperaturas medidas pelo sensor e do tamanho do
intervalo, informar qual a maior e qual a menor temperatura média observadas,
considerando o tamanho do intervalo dado.
2. Dados
Você deverá resolver vários testes, cada um dado no seguinte formato e separados
por uma linha em branco. A primeira linha de um teste contém dois números
inteiros positivos N e M, que indicam respectivamente o número total de medições
de temperatura de uma seqüência obtida pelo sensor, e o tamanho dos intervalos,
em minutos, em que as médias devem ser calculadas. As N linhas seguintes
contêm um número inteiro cada, representando a seqüência de medidas do sensor.
Exemplo de Dados
4 2
-5
-12
0
6
7 4
35
-35
5
100
100
50
50
3. Resposta
Para cada teste dado, você deve escrever duas linhas na resposta. A primeira linha
identifica o conjunto de teste, no formato Teste n , onde n é numerado a partir de
1. A segunda linha deve conter dois números inteiros X e Y, representando
respectivamente os valores da menor e da maior média de temperatura. O valor da
média deve ser truncado, se a média não for um número inteiro (ou seja, deve ser
impressa apenas a parte inteira).
Exemplo de Resposta
Teste 1:
-8 3
Teste 2:
26 75
(estas respostas correspondem aos dados do exemplo acima)
5. Conjuntos de Testes
Clique aqui para acessar os conjuntos de dados a serem utilizados.
6. Gabarito
Clique aqui para acessar o gabarito utilizado na correção.
Rede Ótica
Os caciques da região de Tutuaçu pretendem integrar suas tribos à chamada
"aldeia global". A primeira providência foi a distribuição de telefones celulares a
todos os pajés. Agora, planejam montar uma rede de fibra ótica interligando todas
as tabas. Esta empreitada requer que sejam abertas novas picadas na mata,
passando por reservas de flora e fauna. Conscientes da necessidade de preservar o
máximo possível o meio ambiente, os caciques encomendaram um estudo do
impacto ambiental do projeto. Será que você consegue ajudá-los a projetar a rede
de fibra ótica?
1. Tarefa
Vamos denominar uma ligação de fibra ótica entre duas tabas de um ramo de rede.
Para possibilitar a comunicação entre todas as tabas é necessário que todas elas
estejam interligadas, direta (utilizando um ramo de rede) ou indiretamente
(utilizando mais de um ramo). Os caciques conseguiram a informação do impacto
ambiental que causará a construção dos ramos. Alguns ramos, no entanto, nem
foram considerados no estudo ambiental, pois sua construção é impossível.
Sua tarefa é determinar quais ramos devem ser construídos, de forma a possibilitar
a comunicação entre todas as tabas, causando o menor impacto ambiental possível.
2. Dados
Você deverá resolver vários testes, cada um dado no seguinte formato. A primeira
linha de um teste contém dois números inteiros positivos N e M que indicam,
respectivamente, o número de tabas e o número de ramos de redes possíveis. As
tabas são numeradas de 1 a N. As M linhas seguintes contêm três inteiros positivos
X, Y e Z, que indicam que o ramo de rede que liga a taba X à taba Y tem impacto
ambiental Z. Com os conjuntos de teste dados sempre é possível interligar todas as
tabas.
Exemplo de Dados
3
1
2
3
3
2 10
3 10
1 10
5
1
1
2
2
6
2
3
4
5
15
12
13
5
3 2 6
3 4 6
3. Resposta
Para cada teste dado, você deve produzir uma lista dos ramos de redes que devem
ser construídos. A lista deve ser precedida de uma linha que identifica o conjunto
de teste, no formato "Teste n", onde n é numerado a partir de 1. A lista é composta
por uma sequência de ramos a serem construídos, um ramo por linha. Um ramo é
descrito por um par de tabas X e Y , com X < Y. Os ramos de rede podem ser
listados em qualquer ordem, mas não deve haver repetição. Se houver mais de
uma solução possível, dê apenas uma delas.
Exemplo de Resposta
Teste 1:
1 2
1 3
Teste 2:
1 3
2 3
2 5
3 4
(estas respostas correspondem aos dados do exemplo acima)
Conjuntos de Dados
Clique aqui para acessar o conjunto de dados a ser utilizado.
Gabarito
Clique aqui para acessar o gabarito utilizado na correção.
Depois da Festa
Tradução da quinta tarefa da primeira fase do Concurso Nacional de Informática da
Alemanha 1997/98 ("Bundeswettbewerb Informatik 1997/98 1. Runde").
A festa de Karina foi um grande sucesso. Apenas um detalhe perturba sua alegria.
Seu venerado Roberto havia recusado o convite com a observação que não se
dispunha a perder seu tempo com um evento tão monótono. Entende-se que isto
encerra o relacionamento entre eles, mas Karina ainda espera que Roberto ouça de
diversas pessoas o quanto legal fora sua festa com o objetivo de deixá-lo zangado.
O número de comentários que chegarão a Roberto pode ser determinado sabendose os convidados, seus conhecidos e quais destas pessoas conhecem Roberto.
Karina supõe corretamente que quem ouvir uma novidade da festa, conta a mesma
para seus amigos. Por outro lado, ninguém a contará a notícia mais de uma vez
para um mesmo conhecido, mesmo quando diversas pessoas tenham lhe falado da
festa. Naturalmente, todos os convidados já se conhecem e Karina nunca
conversará uma única palavra com Roberto a respeito de sua comemoração, do
mesmo modo que não perderá seu tempo falando da festa a pessoas não
convidadas.
Exemplo:
Estavam presentes na festa: Frederico, Sílvia e Vera.
Frederico conhece Roberto e Romeu.
Sílvia conhece Romeu e Antônio.
Vera conhece Roberto e Antônio.
Roberto conhece Romeu e Ângela.
Ângela conhece Carol.
Carol conhece Roberto.
Antônio conhece Romeu e Roberto.
(Se Roberto conhece Daniel, Daniel também conhece Roberto, mesmo que isto não
seja dito explicitamente).
Neste caso, os comentários chegam quatro vezes a Roberto: de Frederico, Antônio,
Romeu e Vera.
1. Tarefa:
Seu objetivo é determinar quantas vezes Roberto ouvirá da festa. Para isso, você
receberá a lista dos convidados e também listas com a especificação do círculo de
amigos das pessoas.
2. Dados
Você receberá vários conjuntos de testes. Cada um destes conjuntos consiste de
várias linhas de texto. A primeira linha contém uma lista dos nomes dos convidados
presentes na festa. Cada convidado é identificado por apenas uma palavra. Os
nomes são separados por exatamente um espaço em branco. As próximas linhas
contém listas dos conhecidos de uma pessoa no seguinte formato:
X: a b c ...
Significando que X conhece a, b, c, etc e vice-versa. Cada conjunto de teste é
finalizado por uma linha em branco.
Exemplo de Dados
Frederico Silvia Vera
Frederico: Roberto Romeu
Silvia: Romeu Antanio
Vera: Roberto Antanio
Roberto: Romeu Angela
Angela: Carol
Carol: Roberto
Antonio: Romeu Roberto
Laura Paulo
Licia: Roberto
Maria: Rafael Mariana Roberto
Paulo: Renata Diogo
Laura: Adelino Eduardo
Roberto: Ana Andre
3. Resultados
Para cada conjunto de teste, você deve escrever duas linhas na resposta. A
primeira linha deve conter um identificador do teste, a segunda o número de vezes
que Roberto soube do sucesso da festa.
Exemplos de resultados
Teste 1:
4
Teste 2:
0
4. Restrições:
Numero de pessoas envolvidas menor que 1.000.
Comprimento máximo do nome: 15.
Pode haver até 150 presentes na festa.
5. Conjuntos de Testes
Clique aqui para acessar os conjuntos de dados a serem utilizados.
6. Gabarito
Clique aqui para acessar o gabarito utilizado na correção.
Carga Pesada
Um dos maiores problemas no transporte de cargas pesadas por rodovias é a altura
dos viadutos, pois muitas vezes a carga é mais alta do que o vão do viaduto sob o
qual o caminhão deve passar. Considere o mapa abaixo. É possível tranportar uma
turbina de hidroelétrica, que em cima do caminhão mede 7 metros de altura, da
cidade Xis da Serra para a cidade Ypsilon Bonito?
Neste caso é fácil perceber que a resposta é sim, pois o menor vão encontrado no
caminho, se utilizarmos as estradas BR-64 e BR-1024, é de 9 metros. No caso
geral, com dezenas de cidades e estradas, a resposta pode não ser tão evidente.
1. Tarefa
Sua tarefa é determinar, para um dado par de cidades X e Y, qual a carga mais alta
que pode ser transportada de X para Y por meio rodoviário, conhecendo todas as
estradas da região e a altura de todos os túneis e viadutos dessas estradas.
Considere que todas as estradas têm limitação de altura e que a interligação das
estradas ao redor das cidades não tem restrição de altura.
2. Dados
Voce vai receber vários conjuntos de teste. O número máximo de cidades, N, em
cada teste é 100. As cidades são numeradas de 1 a N. A primeira linha do conjunto
de teste contém dois inteiros positivos X e Y que representam respectivamente as
cidades origem e a cidade destino da carga (1 <= X <= N, 1 <= Y <= N). As linhas
seguintes contêm cada uma a descrição de uma estrada. Cada descrição é
composta por três inteiros A, B e C, representando respectivamente a cidade onde
a estrada inicia, a cidade onde a estrada termina e a altura do viaduto ou túnel
mais baixo no trajeto de A para B. Em cada conjunto de teste, sempre há ao menos
um caminho de X para Y. Os testes são separados por uma linha em branco.
Exemplo de Dados
2 4
1 4 5
2 4 12
1
1
1
2
3
3
2
3
3
1
10
8
12
5
3. Resposta
Para cada conjunto de teste, você deve escrever duas linhas de resposta. A
primeira linha deve conter um identificador do conjunto de teste, no formato Teste
n, onde n é numerado a partir de 1. Na segunda linha deve aparecer a altura
máxima da carga encontrada.
Exemplo de Resposta
Teste 1
12
Teste 2
10
(esta resposta corresponde ao exemplo de dados acima)
4. Restrições
1
1
1
1
1
<=
<=
<=
<=
<=
X <= 100
Y <= 100
A <= 100
B <= 100
C <= 50
5. Conjuntos de Testes
Clique aqui para acessar os conjuntos de dados a serem utilizados.
6. Gabarito
Clique aqui para acessar o gabarito utilizado na correção.
Desordens
Uma permutação dos números de 1 a N é uma seqüência de números a1, a2, ... aN
na qual cada um dos números de 1 a N aparece exatamente uma vez. Uma
desordem de uma permutação é uma nova permutação que se obtém ao realizar
um conjunto de intercâmbios de pares de números na permutação origem de tal
forma que cada número seja intercambiado no máximo uma vez.
1. Tarefa
Sua tarefa é determinar a menor quantidade de desordens necessárias para
transformar a permutação 1, 2, ... N em uma outra permutação dada (chamada de
permutação objetivo).
Por exemplo, com N=5, para obter-se a permutação 3, 4, 1, 5, 2 são necessárias
duas desordens: a primeira intercambiando 1 com 3, e 2 com 5; a segunda
intercambiando 5 com 4.
2. Dados
Cada conjunto de teste que você receberá é composto por duas linhas. A primeira
linha contém um inteiro positivo, N, que indica a quantidade de números da
permutação. A segunda linha contém a permutação objetivo, composta de N
inteiros positivos, separados por espaço em branco.
Exemplo de Dados
5
3 4 1 5 2
7
3 2 1 7 6 5 4
3. Resposta
Para cada conjunto de teste você deve produzir duas linhas na resposta. A primeira
linha deve conter um identificador do conjunto de teste, no formato "Teste n", onde
n é numerado a partir de 1. A segunda linha deve conter o número de desordens
necessá para se atingir a permutação objetivo.
Exemplo de Resposta
Teste 1
2
Teste 2
1
(esta resposta corresponde ao exemplo de dados acima)
4. Restrições
1 <= N <= 10.000
5. Conjuntos de Testes
Clique aqui para acessar os conjuntos de testes.
6. Gabarito
Clique aqui para acessar o gabarito utilizado na correção.
Cubos
Um brinquedo que diverte muito as crianças é o que utiliza pequenos cubos de
madeira para construção de cidades. As crianças em geral constróem altas torres,
mas Joãozinho tem um plano diferente: ele quer construir uma grande cidade. Seu
pai comprou uma mesa retangular, onde cabem K blocos na largura e L blocos no
comprimento. Joãozinho decidiu planejar cidade antes de construí-la. Ele desenhou
um quadriculado consistindo de K x L quadrados, e quer colocar torres compostas
de um ou mais blocos empilhados em alguns dos quadrados desenhados. Joãozinho
está interessado apenas nas vistas frontais e laterais da sua cidade, e portanto
seus planos consistem apenas dessas duas vistas (projeções bidimensionais da
cidade planejada). Um exemplo do plano de uma cidade de cubos de madeira é
mostrado abaixo:
1. Tarefa
O pai de Joãozinho está preocupado em saber se há cubos de madeira em número
suficiente para construir a cidade planejada. Você deve determinar o número
mínimo e o número máximo de cubos para construir uma cidade que corresponde
ao plano de Joãozinho. Deve também detectar ainda o caso de ser impossível
construir uma cidade de acordo com o plano.
2. Dados
Você receberá um conjunto de testes constituído de várias linhas. A primeira linha
contém dois inteiros positivos, K e L, representando respectivamente a largura e
comprimento da mesa. Nem a largura nem o comprimento são maiores do que
100.000. As K linhas seguintes descrevem a vista frontal; a descrição consiste de
uma série de alturas das torres em cada quadrado da esquerda para a direita (a
altura é medida em número de cubos). As L linhas seguintes descrevem, de
maneira similar, a vista lateral da cidade. Você pode supor que não há torres de
altura superior a 5.000 cubos, e o número máximo de cubos para construir uma
cidade não é superior a 2.000.000.000.
Exemplo de Dados
4 3
1
3
4
2
1
4
2
3. Resposta
Para cada conjunto de teste, você deve produzir apenas uma linha na sua resposta.
Se não é possível construir uma cidade com as vistas dadas, essa linha deve conter
apenas a palavra "impossivel". Caso contrário a linha deve conter dois números
inteiros, separados por um espaço em branco: o primeiro é mínimo e o segundo é o
máximo número de cubos necessários para construir a cidade de acordo com os
planos de Joãozinho.
Exemplo de Resposta
10 21
(esta saída corresponde ao exemplo de entrada acima)
4. Restrições
0 ≤ K ≤ 100.000
0 ≤ L <= 100.000
5. Conjuntos de Testes
6. Respostas
Download