OBI2012 Caderno de Tarefas



Documentos relacionados
OBI2012 Caderno de Tarefas

OBI2010 Caderno de Tarefas

OBI2013 Caderno de Tarefas

OBI2014 Caderno de Tarefas

OBI2014 Caderno de Tarefas

OBI2005 Caderno de Tarefas

OBI2010 Caderno de Tarefas

OBI2013 Caderno de Tarefas

OBI2010 Caderno de Tarefas

OBI2012 Caderno de Tarefas

OBI2009 Caderno de Tarefas

I OLIMPÍADA DE ALGORITMO IFSP SÃO CARLOS. Caderno de Tarefas. 19 de outubro de 2011

OBI OLIMPÍADA BRASILEIRA DE INFORMÁTICA CADERNO DE TAREFAS. SEGUNDA FASE 12/9/99 13:00 às 17:00

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

Início Rápido para o Templo

MANUAL DE UTILIZAÇÃO DO SISTEMA HERMES

Portal do Projeto Tempo de Ser

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário

Cotagem de dimensões básicas

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

ÍNDICE. Tela de Configuração Dados de Etiqueta Configuração da Impressora Configuração do Papel Itens para Inserção...

Desmistificando o Programa de Computador

Conceitos básicos da linguagem C

Acessando o SVN. Soluções em Vendas Ninfa 2

Sistemas Lineares. Módulo 3 Unidade 10. Para início de conversa... Matemática e suas Tecnologias Matemática

Especificação do Trabalho Prático

Exercícios de Revisão Java Básico

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA 3. SEQÜÊNCIA DA AULA. 3.1 Iniciando o PowerPoint

CURSO BÁSICO DE CRIAÇÃO DE SITES MÓDULO 2 AULA 3

O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais.

Implementando uma Classe e Criando Objetos a partir dela

Conectar diferentes pesquisas na internet por um menu

Desenhando perspectiva isométrica

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

Guia de Acesso para os Cursos Online

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Esse produto é um produto composto e tem subprodutos

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA. 2.1 Definição de Planilha Eletrônica

OBI2017 Caderno de Tarefas

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

PROGRAMAÇÃO BÁSICA DE CLP

Neste tópico, veremos como selecionar e copiar informações entre bancos de dados de empresa no SAP Business One.

COMO PROGRAMAR SEU TIME

OBI2007 Caderno de Tarefas

Aula 01 Conceitos Iniciais sobre Excel 2010

NOME: Nº. ASSUNTO: Recuperação Final - 1a.lista de exercícios VALOR: 13,0 NOTA:

Sumário. 1. Instalando a Chave de Proteção Novas características da versão Instalando o PhotoFacil Álbum 4

Superintendência Regional de Ensino de Ubá - MG Núcleo de Tecnologia Educacional NTE/Ubá. LibreOffice Impress Editor de Apresentação

PROPOSTAS DE TRABALHO PARA OS ALUNOS A PARTIR DE JOGOS 2º ANO. Adriana da Silva Santi Coordenação Pedagógica de Matemática

Av. Moaci, 965 Moema São Paulo SP CEP: Tel. +55 (11) Perguntas Frequentes

ÍNDICE INTRODUÇÃO...3

Apostila 1. (Make Directory AMY - Fazer pasta AMY) C:>CD AMY

Teclado. Mike McBride Anne-Marie Mahfouf Tradução: Lisiane Sztoltz

OBI2016 Caderno de Tarefas

Informática básica Telecentro/Infocentro Acessa-SP

Para o OpenOffice Impress, assim como para vários softwares de apresentação, uma apresentação é um conjunto de slides.

Versão 8.3A-03. Versão da Apostila de Novidades: 1

Configurando a emissão de boletos no sistema

OBI2012 Caderno de Tarefas

1 Funções básicas de implementação de arquivos

1. Introdução. Avaliação de Usabilidade Página 1

Para o PowerPoint, assim como para vários softwares de apresentação, uma apresentação é um conjunto de slides.

MATERIAL DE APRESENTAÇÃO DO SCRATCH

Sumário. 1. Propósito 1 2. Tabela de Ferragem 1 3. Criar Tabela de Ferragem 1 4. Conector de Ferragens 7

Etec. Cel. Fernando Febeliano da Costa

Engenharia do Conhecimento

Versão 1.0 O DIÁRIO DE CLASSE ELETRÔNICO QUE PUBLICA INFORMAÇÕES NA WEB

LINGUAGEM C UMA INTRODUÇÃO

1 o º ciclo. Índice TUTORIAL

Curso Online A Escola no Combate ao Trabalho Infantil Plataforma de Educação à Distância

Professor Paulo Lorini Najar

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da Secretaria Municipal de Saúde da Cidade de São Paulo SIGA SAÚDE

Simulado OBI2018 Caderno de Tarefas

Especificação do Trabalho Prático

Programação Orientada a Objetos: Lista de exercícios #1. Bruno Góis Mateus

Aula 4 Estatística Conceitos básicos

Pró-Reitoria de Educação a Distância. Manual do Ambiente Virtual de Aprendizagem para alunos

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.

MAIS CONTROLE SOFTWARE Controle Financeiro / Fluxo de Caixa (MCS Versão ) Índice

COLÉGIO MILITAR DE BELO HORIZONTE CONCURSO DE ADMISSÃO 2003 / 2004 PROVA DE MATEMÁTICA 5ª SÉRIE DO ENSINO FUNDAMENTAL IDENTIFICAÇÃO

Quimibol - Revisando a Tabela Periódica

Estruturas de Repetição

Projeto ECA na Escola - Plataforma de Educação à Distância

TÉCNICAS DE PROGRAMAÇÃO

Edital N.º 11/PROAD/SGP/2015 e complementares

OpenOffice Calc Aula 4

Como produzir um texto no computador.

Algoritmos e programação

Curso em Sistema de Editoração Eletrônica de Revistas (SEER) - Tutorial Editores/Editores de Seção

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público º CADERNO. Índice

Olá, Professores e Professoras. É um prazer estar aqui com vocês novamente. Sejam bem-vindos!

Formador: Carlos Maia

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

N1Q1 Solução. a) Há várias formas de se cobrir o tabuleiro usando somente peças do tipo A; a figura mostra duas delas.

Maratona de Programação da SBC 2011

Para os demais formatos, o relatório será gerado mas virá com configurações incorretas.

ORIENTAÇÕES BÁSICAS PARA INSERÇÃO DE OFERTAS NO PORTAL VIAJA MAIS

Treinamento em BrOffice.org Writer

Transcrição:

OBI2012 Caderno de Tarefas Modalidade Programação Nível 2, Fase 1 31 de março de 2012 A PROVA TEM DURAÇÃO DE 5 HORAS Promoção: Patrocínio: v1.0

Olimpíada Brasileira de Informática OBI2012 1 Instruções LEIA ATENTAMENTE ESTAS INSTRUÇÕES ANTES DE INICIAR A PROVA Este caderno de tarefas é composto por 9 páginas (não contando a folha de rosto), numeradas de 1 a 9. Verifique se o caderno está completo. A prova deve ser feita individualmente. É proibido consultar a Internet, livros, anotações ou qualquer outro material durante a prova. É permitida a consulta ao help do ambiente de programação se este estiver disponível. As tarefas têm o mesmo valor na correção. A correção é automatizada, portanto siga atentamente as exigências da tarefa quanto ao formato da entrada e saída de seu programa. Não implemente nenhum recurso gráfico nas suas soluções (janelas, menus, etc.), nem utilize qualquer rotina para limpar a tela ou posicionar o cursor. As tarefas não estão ordenadas, neste caderno, por ordem de dificuldade; procure resolver primeiro as questões mais fáceis. Preste muita atenção no nome dos arquivos fonte indicados nas tarefas. Soluções na linguagem C devem ser arquivos com sufixo.c; soluções na linguagem C++ devem ser arquivos com sufixo.cc ou.cpp; soluções na linguagem Pascal devem ser arquivos com sufixo.pas; soluções na linguagem Java devem ser arquivos com sufixo.java e a classe principal deve ter o mesmo nome do arquivo fonte; e soluções na linguagem Python devem ser arquivos com sufixo.py. Para problemas diferentes você pode escolher trabalhar com linguagens diferentes, mas apenas uma solução, em uma única linguagem, deve ser submetida para cada problema. Ao final da prova, para cada solução que você queira submeter para correção, copie o arquivo fonte para o seu diretório de trabalho ou disquete, conforme especificado pelo seu professor. Não utilize arquivos para entrada ou saída. Todos os dados devem ser lidos da entrada padrão (normalmente é o teclado) e escritos na saída padrão (normalmente é a tela). Utilize as funções padrão para entrada e saída de dados: em Pascal: readln, read, writeln, write; em C: scanf, getchar, printf, putchar; em C++: as mesmas de C ou os objetos cout e cin. em Java: qualquer classe ou função padrão, como por exemplo Scanner, BufferedReader, Buffered- Writer e System.out.println em Python: read,readline,readlines,print,write Procure resolver o problema de maneira eficiente. Na correção, eficiência também será levada em conta. As soluções serão testadas com outras entradas além das apresentadas como exemplo nas tarefas.

Olimpíada Brasileira de Informática OBI2012 2 Colchão Nome do arquivo fonte: colchao.c, colchao.cpp, colchao.pas, colchao.java, ou colchao.py João está comprando móveis novos para sua casa. Agora é a vez de comprar um colchão novo, de molas, para substituir o colchão velho. As portas de sua casa têm altura H e largura L e existe um colchão que está em promoção com dimensões A B C. O colchão tem a forma de um paralelepípedo reto retângulo e João só consegue arrastá-lo através de uma porta com uma de suas faces paralelas ao chão, mas consegue virar e rotacionar o colchão antes de passar pela porta. Entretanto, de nada adianta ele comprar o colchão se ele não passar através das portas de sua casa. Portanto ele quer saber se consegue passar o colchão pelas portas e para isso precisa de sua ajuda. A primeira linha da entrada contém três números inteiros A, B e C, as três dimensões do colchão, em centímetros. A segunda linha contém dois inteiros H e L, respectivamente a altura e a largura das portas em centímetros. Se programa deve escrever uma única linha, contendo apenas a letra S se o colchão passa pelas portas e apenas a letra N em caso contrário. Restrições 1 A, B, C 300 1 H, L 250

Olimpíada Brasileira de Informática OBI2012 3 Exemplos 25 120 220 200 100 S 25 205 220 200 100 N 25 200 220 200 100 S

Olimpíada Brasileira de Informática OBI2012 4 O Tabuleiro Esburacado Nome do arquivo fonte: cavalo.c, cavalo.cpp, cavalo.pas, cavalo.java, ou cavalo.py Um tabuleiro normal, 8 x 8, foi danificado, e 4 posições ficaram esburacadas. A Figura 1(a) mostra o tabuleiro. A posição inferior esquerda tem coordenadas (0, 0). Os 4 buracos estão marcados em preto, e têm coordenadas (1, 3), (2, 3), (2, 5) e (5, 4). Um cavalo de xadrez foi colocado na posição (4, 3), marcada como 0 no tabuleiro. 8 1 7 2 0 0 6 3 5 4 (a) (b) Os 8 movimentos de um cavalo estão numerados de 1 a 8 na Figura 1(b), a partir da posição marcada como 0. Por exemplo, se o cavalo estiver na posição inicial (4, 3), o movimento 7 leva o cavalo à posição (2, 4), sem cair no buraco (2, 3), porque o cavalo salta da posição (4, 3) para a posição (2, 4). Seu problema é simular um passeio do cavalo, dados os movimentos através dos números de 1 a 8 e determinar quantos movimentos o cavalo faz até ou (i) terminar o passeio ou (ii) cair em um buraco. Por exemplo, na trajetória dada pelos 5 movimentos 1, 8, 5, 3, 4, o cavalo passa pelas posições (5, 5), (4, 7), (3, 5) e cai no buraco (5, 4), fazendo portanto apenas 4 movimentos. Já no passeio dado pelos 3 movimentos 6, 8, 1, o cavalo passa pelas posições (2, 2), (1, 4) e (2, 6) e não cai em nenhum buraco: portanto, perfaz todos os 3 movimentos do passeio. A primeira linha da entrada contém N, o número de movimentos do passeio. A segunda linha contém N inteiros M 1, M 2,..., M N, separados por um espaço em branco, correspondentes aos N movimentos do cavalo no passeio. Um movimento pode levar o cavalo a cair em um buraco, mas nunca leva o cavalo a sair do tabuleiro. Seu programa deve imprimir uma única linha, contendo um único número inteiro, o número de movimentos do cavalo até terminar o passeio ou o cavalo cair em um buraco. Restrições 1 N 100

Olimpíada Brasileira de Informática OBI2012 5 1 M I 8, para I = 1, 2,..., N. Exemplos 5 1 8 5 3 4 4 3 6 8 1 3

Olimpíada Brasileira de Informática OBI2012 6 Frequencia na aula Nome do arquivo fonte: frequencia.c, frequencia.cpp, frequencia.pas, frequencia.java, ou frequencia.py Certa vez, numa aula, a professora passou um filme para os alunos assistirem. Durante este filme, ela passou uma lista de presença em sua sala para verificar a presença dos alunos, onde cada aluno deveria inserir apenas seu número de registro. Alguns alunos contudo, como possuem amigos que fogem da aula, decidiram ser camaradas e inseriram os números de registro de seus amigos fujões. O problema é que muitos alunos são amigos de alunos que fogem da aula e alguns números de registro acabaram sendo repetidamente inseridos na lista de presença. Além de tudo, alguns dos alunos que se esperava que não estivessem na aula de fato estavam! A professora, ao notar que a lista de presença continha alguns números repetidos, ficou sem entender, mas decidiu dar um voto de confiança e dar presença a todos os alunos cujos números de registro estavam na lista. Como são muitos alunos na sala e muitos números com repetição, ela pediu a sua ajuda para determinar o total de alunos que receberam presença na aula. A primeira linha da entrada contém um número inteiro N, que informa a quantidade de números de registro que apareceram na lista de presença. Cada uma das N linhas seguintes contém um número de registro V i que foi inserido na lista de presença. Seu programa deve imprimir uma única linha, contendo apenas um número inteiro, o número de alunos que receberam presença. Restrições 1 N 10 5 Para cada elemento V i, 0 V i 10 6 Informações sobre pontuação Em um conjunto de casos que totaliza 40 pontos, N 10 3 e V i 10 3 Exemplos 3 2 3 1 3

Olimpíada Brasileira de Informática OBI2012 7 7 0 5 12 41 7 5 41 5

Olimpíada Brasileira de Informática OBI2012 8 Tarzan Nome do arquivo fonte: tarzan.c, tarzan.cpp, tarzan.pas, tarzan.java, ou tarzan.py Tarzan vive na floresta e é o responsável por manter a ordem na região onde vive. Para locomover-se entre as árvores ele só usa cipós pois esse é um meio de transporte muito mais rápido e seguro do que andar no chão da selva, além de, é claro, poder soltar seu grito característico enquanto viaja. Os cipós das árvores têm todos o mesmo alcance. Dessa forma, é possível viajar de cipó de uma árvore para outra se a distância entre elas é no máximo D, onde D é o alcance dos cipós. Recentemente uma forte chuva assolou a região e derrubou algumas árvores, restando na floresta apenas N árvores. Agora Tarzan quer saber se ele consegue viajar de cipó entre todas árvores remanescentes para poder continuar mantendo a ordem na região. Para poder manter a ordem ele precisa ser capaz de, partindo de qualquer uma das árvores, poder chegar a todas as outras árvores remanescentes, possivelmente passando por outras árvores no caminho, sempre utilizando somente cipós. A primeira linha da entrada contém dois inteiros, N e D, indicando respectivamente o número de árvores remanescentes e o alcance dos cipós. Cada uma das N linhas seguintes contém dois inteiros X i e Y i, as coordenadas da i-ésima árvore. Não existem duas árvores com as mesmas coordenadas. Seu programa deve escrever uma única linha, contendo um único caractere: S se Tarzan consegue viajar de cipó entre todas as árvores remanescentes, e N caso contrário. Informações sobre a pontuação Em um conjunto de casos de teste que totaliza 30 pontos, N 10 Em um conjunto de casos de teste que totaliza 70 pontos, N 100 Restrições 2 N 1000 1 D 5000 0 X i, Y i 5000

Olimpíada Brasileira de Informática OBI2012 9 Exemplos 4 5 1 1 6 1 6 6 11 6 S 4 5 1 1 6 6 11 6 13 8 N