• Nenhum resultado encontrado

PROBLEMA A: BUSCA NA INTERNET (Fonte: SPOJ-OBI)

N/A
N/A
Protected

Academic year: 2021

Share "PROBLEMA A: BUSCA NA INTERNET (Fonte: SPOJ-OBI)"

Copied!
12
0
0

Texto

(1)

PROBLEMA A: BUSCA NA INTERNET (Fonte: SPOJ-OBI)

Arquivo: busca.js

Descrição do problema

João fez uma pesquisa em seu site de busca predileto, e encontrou a resposta que estava procurando no terceiro link listado. Além disso, ele viu, pelo site, que t pessoas já haviam clicado neste link antes. João havia lido anteriormente, também na Internet, que o número de pessoas que clicam no segundo link listado é o dobro de número de pessoas que clicam no terceiro link listado. Nessa leitura, ele também descobriu que o número de pessoas que clicam no segundo link é a metade do número de pessoas que clicam no primeiro link. João está intrigado para saber quantas pessoas clicaram no primeiro link da busca, e, como você é amigo dele, quer sua ajuda nesta tarefa.

Entrada

A entrada contém N conjuntos de testes. Primeiramente, é informado um número N (1 ≤ N ≤ 100) com o número de conjuntos de testes. Cada caso de teste possui apenas um número, t (1 ≤ N ≤ 1000), que representa o número de pessoas que clicaram no terceiro link da busca.

Saída

Para cada caso de teste imprima apenas uma linha, contendo apenas um inteiro, indicando quantas pessoas clicaram no primeiro link, nessa busca.

Exemplos de testes

2

2

25

8

100

(2)

PROBLEMA B: PNEU (Fonte: SPOJ-OBI)

Arquivo: pneu.js

Descrição do problema

Calibrar os pneus do carro deve ser uma tarefa cotidiana de todos os motoristas. Para isto, os postos de gasolina possuem uma bomba de ar. A maioria das bombas atuais são eletrônicas, permitindo que o motorista indique a pressão desejada num teclado. Ao ser ligada ao pneu, a bomba primeiro lê a pressão atual e calcula a diferença de pressão entre a desejada e a lida. Com esta diferença ela esvazia ou enche o pneu para chegar na pressão correta. Sua ajuda foi requisitada para desenvolver o programa da próxima bomba da SBC - Sistemas de Bombas Computadorizadas.

Entrada

A entrada possui vários casos de teste. A primeira linha da entrada contém um inteiro N que indica a pressão desejada pelo motorista (1 ≤ N ≤ 40). A segunda linha contém um inteiro M que indica a pressão lida pela bomba (1 ≤ M ≤ 40).Um valor de N = -1 indica o final dos casos de teste.

Saída

Para cada caso de teste seu programa deve imprimir uma única linha, contendo a diferença entre a pressão desejada e a pressão lida.

Exemplos de testes

30

18

27

27

27

30

-1

12

0

-3

(3)

PROBLEMA C: NOTAS DA PROVA (Fonte: SPOJ-OBI)

Arquivo: notas.js

Descrição do problema

Rosy é uma talentosa professora do Ensino Médio que já ganhou muitos prêmios pela qualidade de sua aula. Seu reconhecimento foi tamanho que foi convidada a dar aulas em uma escola da Inglaterra. Mesmo falando bem inglês, Rosy ficou um pouco apreensiva com a responsabilidade, mas resolveu aceitar a proposta e encará-la como um bom desafio.

Tudo ocorreu bem para Rosy até o dia da prova. Acostumada a dar notas de 0 (zero) a 100 (cem), ela fez o mesmo na primeira prova dos alunos da Inglaterra. No entanto, os alunos acharam estranho, pois na Inglaterra o sistema de notas é diferente: as notas devem ser dadas como conceitos de A a E. O conceito A é o mais alto, enquanto o conceito E é o mais baixo.

Conversando com outros professores, ela recebeu a sugestão de utilizar a seguinte tabela, relacionando as notas numéricas com as notas de conceitos da tabela ao lado.

O problema é que Rosy já deu as notas no sistema numérico, e terá que converter as notas para o sistema de letras. Porém, Rosy precisa preparar as próximas aulas (para manter a qualidade que a tornou reconhecida), e não tem tempo suficiente para fazer a conversão das notas manualmente.

Entrada

A entrada possui vários casos de teste. Cada caso de teste deve ser lido do dispositivo de entrada padrão (normalmente o teclado). A entrada contém uma única linha com um número inteiro N (0 ≤ N ≤ 100), representando uma nota de prova no sistema numérico. Um valor de N = -1 indica o final dos casos de teste.

Saída

Para cada caso de teste seu programa deve imprimir na saída padrão, uma letra (A, B, C, D, ou E em maiúsculas) representando o conceito correspondente à nota dada na entrada.

Exemplos de testes

12

87

0

-1

D

A

E

(4)

PROBLEMA D: CONTA DE ÁGUA (Fonte: SPOJ-OBI)

Arquivo: conta.js

Descrição do problema

A empresa local de abastecimento de água, a Saneamento Básico da Cidade (SBC), está promovendo uma campanha de conservação de água, distribuindo cartilhas e promovendo ações demonstrando a importância da água para a vida e para o meio ambiente.

Para incentivar mais ainda a economia de água, a SBC alterou os preços de seu fornecimento de forma que, proporcionalmente, aqueles clientes que consumirem menos água paguem menos pelo metro cúbico. Todo cliente paga mensalmente uma assinatura de R$ 7, que inclui uma franquia de 10 m³ de água. Isto é, para qualquer consumo entre 0 e 10 m³ , o consumidor paga a mesma quantia de R$ 7 reais (note que o valor da assinatura deve ser pago mesmo que o consumidor não tenha consumido água). Acima de 10 m³ cada metro cúbico subsequente tem um valor diferente, dependendo da faixa de consumo. A SBC cobra apenas por quantidades inteiras de metros cúbicos consumidos. A tabela abaixo especifica o preço por metro cúbico para cada faixa de consumo:

Assim, por exemplo, se o consumo foi de 120 m³ , o valor da conta é:

 7 reais da assinatura básica;

 20 reais pelo consumo no intervalo 11 - 30 m³;

 140 reais pelo consumo no intervalo 31 - 100 m³;

 100 reais pelo consumo no intervalo 101 - 120 m³. Logo o valor total da conta de água é R$ 267.

Entrada

A entrada possui vários casos de teste. Cada caso de teste contém um único inteiro N, indicando o consumo de água da residência, em m³ (0 ≤ N ≤ 10³). Um valor de N = -1 indica o final dos casos de teste.

Saída

Para cada caso de teste seu programa deve imprimir uma única linha, contendo o valor da conta de água daquela residência.

Exemplos de testes

8

14

42

-1

7

11

51

(5)

PROBLEMA E: AUTO ESTRADA (Fonte: SPOJ-OBI)

Arquivo: auto.js

Descrição do problema

Certas regiões resolveram o problema de tráfego intenso com a construção de auto estradas, que são estradas contendo em geral quatro ou mais pistas de rolagem em cada sentido, de forma que um número grande de carros possa passar sem que ocorram congestionamentos. O problema das auto estradas é que, junto com os carros temos um aumento considerável de ruído nas imediações da pista, o que incomoda os moradores das regiões próximas. A GoTo engenharia, uma empresa do ramo de construção especializada em obras de estradas, encontrou uma solução engenhosa para o problema: instalar grandes painéis defletores de som de cada lado da auto estrada para tentar minimizar o ruído percebido pelos vizinhos. Os painéis são construídos em blocos contínuos de 10 metros lineares. A auto estrada também é dividida em blocos de 10 metros de extensão, sendo cada bloco descrito por um código, como definido abaixo:

• P - Pista, trecho em linha reta sem curvas ou saídas. Deve-se instalar um painel de cada lado da auto estrada.

• C - Curva, trecho em curva de 90 graus na auto estrada. Deve-se instalar dois painéis de concreto do lado externo da curva; o outro lado fica sem painel instalado.

• A - Acesso, trecho em linha reta no qual existe uma entrada ou uma saída a partir de um dos lados da auto estrada (mas não do outro). Deve-se instalar um painel no lado onde não existe o acesso.

• D - Duplo acesso, trecho em linha reta no qual existem dois acessos (entradas ou saídas, em qualquer combinação possível), um de cada lado da rodovia. Nenhum painel deve ser instalado nesse bloco da auto estrada.

Apesar de ser uma empresa formada por engenheiros, nenhum dos funcionários da GoTo sabe programar, de forma que eles decidiram contrataram você como consultor independente. Você deve escrever um programa para, dado um mapa da auto estrada, determinar quantos painéis defletores são necessários para cobrir toda a extensão dessa auto estrada.

Entrada

A entrada contém N conjuntos de testes. Primeiramente, é informado um número N (1 ≤ N ≤ 100) com o número de conjuntos de testes. Cada conjunto de testes contém duas linhas: um inteiro C (1 ≤ C ≤ 106), indicando o comprimento da auto estrada, em blocos de 10 metros. A linha seguinte

contêm C caracteres, cada letra descrevendo um bloco de 10 metros da auto estrada, como definido acima.

Saída

Seu programa deve imprimir, na saída padrão, uma linha contendo um número inteiro para cada caso de teste, representando quantas unidades de painel são necessárias para cobrir toda a extensão da auto estrada.

(6)

Exemplos de testes

3

5

DAPCD

8

AACCAAPP

14

ADCCPPPPPAADCP

5

12

21

2

8

89

573147844013817084101

(7)

PROBLEMA F: COMETA (Fonte: SPOJ-OBI)

Arquivo: cometa.js

Descrição do problema

O cometa Halley é um dos cometas de menor período do Sistema Solar, completando uma volta em torno do Sol a cada 76 anos; na última ocasião em que ele tornou-se visível do planeta Terra, em 1986, várias agências espaciais enviaram sondas para coletar amostras de sua cauda e assim confirmar teorias sobre suas composições químicas.

Escreva um programa que, dado o ano atual, determina qual o próximo ano em que o cometa Halley será visível novamente do planeta Terra. Se o ano atual é um ano de passagem do cometa, considere que o cometa já passou nesse ano (ou seja, considere sempre o próximo ano de passagem, não considerando o ano atual).

Entrada

A entrada possui vários casos de teste. Cada caso de teste contém uma única linha da entrada com um inteiro A (2010 ≤ A ≤ 10000), indicando o ano atual. Um valor de A = 0 indica o final dos casos de teste.

Saída

Seu programa deve imprimir uma linha para cada caso de teste, contendo um número inteiro, indicando o próximo ano em que o cometa Halley será visível novamente do planeta Terra.

Exemplos de testes

2010

10000

2062

0

2062

10042

2138

(8)

PROBLEMA G: TELEFONE (Fonte: SPOJ-OBI)

Arquivo: tel.js

Descrição do problema

As primeiras redes públicas de telefonia foram construídas pela AT&T; no começo do século XX. Elas permitiam que seus assinantes conversassem com a ajuda de uma telefonista, que conectava as linhas dos assinantes com um cabo especial.

Essas redes evoluíram muito desde então, com a ajuda de vários avanços tecnológicos. Hoje em dia, essas redes atendem centenas de milhões de assinantes; ao invés de falar diretamente com uma telefonista, você pode simplesmente discar o número da pessoa desejada no telefone. Cada assinante recebe um número de telefone - por exemplo, 55-98-234-5678. Qualquer pessoa que discar esse número consegue então falar com a pessoa do outro lado da linha. Os hífens no número de telefone são só para facilitar a leitura, e não são discados no telefone.

Para que fique mais fácil de se lembrar de um número de telefone, muitas companhias divulgam números que contém letras no lugar de dígitos. Para convertê-los de volta para dígitos, a maioria dos telefones tem letras nas suas teclas: Ao invés de discar uma letra, disca-se a tecla que contém aquela letra. Por exemplo, se você quiser discar o número 0800-FALE-SBC, você na realidade discaria 0800-3253-722. A sua avó tem reclamado de problemas de vista - em particular, ela não consegue mais enxergar as letrinhas nas teclas do telefone, e por isso queria que você fizesse um programa que convertesse as letras em um número de telefone para dígitos.

Entrada

A entrada possui vários casos de teste. Cada entrada é composta de apenas uma linha, contendo o número de telefone que deve ser traduzido. O número de telefone contém entre 1 e 15 caracteres, que podem ser dígitos e '0' a '9', letras de 'A' a 'Y' e hifens ('-'). Uma entrada com a palavra “FIM” indica o final dos casos de teste.

Saída

Seu programa deve imprimir uma linha para cada caso de teste, contendo o número de telefone com as letras convertidas para dígitos. Hifens no número telefone devem ser mantidos no número de telefone de saída.

Exemplos de testes

55-98-234-5678

0800-FALE-SBC

M1S-TU-R4

FIM

55-98-234-5678

0800-3253-722

617-88-74

(9)

PROBLEMA H: CHOCOLATE (Fonte: SPOJ-OBI)

Arquivo: choco.js

Descrição do problema

Por lei, na Nlogônia todas as barras de chocolate são quadradas. Anamaria tem uma barra quadrada de chocolate de lado L, que ela quer compartilhar com alguns colegas da obi. Mas ela é uma boa cidadã e cumpre a lei. Então, ela divide a barra em quatro pedaços quadrados, de lado L=L/2. Depois, ela repete esse procedimento com cada pedaço gerado, sucessivamente, enquanto o lado for maior do que, ou igual a 2cm. Você deve escrever um programa que, dado o lado L da barra inicial, em centímetros, determina quantos pedaços haverá ao final do processo.

Entrada

A entrada possui vários casos de teste. Cada caso de teste consiste de uma linha, com um único inteiro, L (2 ≤ L ≤ 10000), o número de centímetros do lado do quadrado. Um valor de L = 0 indica o final dos casos de teste.

Saída

Seu programa deve imprimir uma linha para cada caso de teste, contendo um número inteiro, igual ao número total de pedaços obtidos pela Anamaria.

Exemplos de testes

4

9

2

0

16

64

4

(10)

PROBLEMA I: VESTIBULAR (Fonte: SPOJ-OBI)

Arquivo: vesti.js

Descrição do problema

A maioria das universidades brasileiras usa o vestibular para selecionar seus alunos. O vestibular consiste de uma ou mais provas sobre as matérias do Ensino Médio, visando avaliar os conhecimentos dos candidatos. Um formato popular de prova de vestibular é a prova objetiva. Neste formato de prova, cada candidato deve escolher uma das cinco alternativas apresentadas pela questão como sendo a correta. Durante a correção dos cartões, cada questão onde a alternativa escolhida pelo candidato é a mesma do gabarito, ele ganha um ponto. Alguns dos vestibulares mais concorridos do Brasil são disputados por dezenas de milhares de candidatos, e, por isso, geralmente usa-se uma folha de leitura óptica e um programa de computador para corrigir as provas de todos os candidatos e gerar a lista com suas pontuações. Você trabalha no comitê responsável pelo vestibular em uma faculdade e deve escrever um programa que, dado o gabarito e as respostas de um dos candidatos, determina o número de acertos daquele candidato.

Entrada

A entrada possui vários casos de teste. A primeira linha da entrada contém um único inteiro N

(

1 ≤ N ≤ 80) , indicando o número de questões da prova. A segunda linha da entrada contém uma cadeia de N caracteres, indicando o gabarito da prova. A terceira linha da entrada contém outra cadeia de N caracteres, indicando as opções marcadas pelo candidato. Ambas as cadeias contêm apenas os caracteres 'A', 'B', 'C', 'D' e 'E' (sempre em letra maiúscula). Uma entrada com a palavra “FIM” indica o final dos casos de teste. Um valor de N = 0 indica o final das entradas.

Saída

Seu programa deve imprimir uma linha para cada caso de teste, contendo um único inteiro, indicando o número de acertos do candidato.

Exemplos de testes

7

AEDBCCE

ADDCCBE

5

ABCDE

ABCDE

10

ABCDEABCDE

BCDEABCDEA

0

4

5

0

(11)

PROBLEMA J: TELESCÓPIO (Fonte: SPOJ-OBI)

Arquivo: tele.js

Descrição do problema

Telescópios são instrumentos que auxiliam a observação do céu, melhorando e aumentando o aspecto das estrelas, planetas e outros objetos brilhantes. Existem diversos tipos de telescópios, sendo os tipos mais comuns os de lentes objetivas (refratores) e os de espelhos (refletores). A maneira como os telescópios melhoram a nossa percepção dos astros no céu é aumentando a quantidade de luz captada que chega aos nossos olhos. Toda luz que entra pelos nossos olhos entra por um orifício chamado pupila. Tal controla a quantidade de luz que entra nos olhos, aumentando o diâmetro quando o ambiente está escuro (e portanto precisamos obter mais luz para identificar os objetos) e diminuindo quando o ambiente está claro. Num ambiente muito escuro, a pupila pode atingir um diâmetro de 8 mm.

Cada objeto celeste (estrela, planeta, nebulosa, etc) emite uma quantidade de luz (fótons) que é homogeneamente distribuída quando chega na Terra. Por exemplo, a estrela A emite luz que pode ser captada a um fluxo de 40.000 fótons por segundo por milímetro quadrado. Isso é, a cada segundo, é possível captar 40.000 fótons provenientes da estrela A numa área de 1 mm2. Ou seja, uma pupila de 10 mm² de área captaria 400.000 fótons provenientes da estrela A por segundo.

Para que nosso cérebro consiga interpretar que existe um objeto ali, porém, ele precisa receber 40.000.000 fótons por segundo. Assim, podemos utilizar um telescópio com lente (ou espelho) de 1000 mm² de área, que vai captar a quantidade necessária de fótons provenientes da estrela A e encaminhá-los até nossa pupila, fazendo assim com que nosso cérebro perceba a presença da estrela ali.

Entrada

A entrada possui vários casos de teste. A primeira linha da entrada terá um inteiro A (1 ≤ A ≤ 10.000) representando a área de abertura do telescópio (em milímetros quadrados) a ser considerado. A segunda linha possui um inteiro N (1 ≤ N ≤ 10.000) representando o número de estrelas a serem estudadas. As N linhas seguintes terão, cada uma, um inteiro F (1 ≤ F ≤ 20.000) representando o fluxo de fótons que cada uma das N estrelas emitem (em fótons por segundo por milímetro quadrado). Uma entrada com A = 0 indica o final das entradas.

Saída

Seu programa deve imprimir uma linha para cada caso de teste, contendo um inteiro representando a quantidade de estrelas que serão percebidas ao se utilizar o telescópio em questão.

Exemplos de testes

10000

3

4000

3500

5100

5869

3

2

2

6

(12)

3975

14234

8569

2967

9

18650

16338

2400

17702

14619

13934

7979

16316

1053

0

Referências

Documentos relacionados

A não apresentação de declaração será entendida pelo Pregoeiro como manifestação de inexistência de fato que possa inabilitá-la, ocorrido após a obtenção dos

Ensaio fotográfico do processo de elaboração de Shakuntala (primeira mostra em 2019) por seus criadores Marilyn Nunes (atriz/cantora) e Alexandre Rosa (mú- sico/ator), que têm

Conforme apontado anteriormente, quando os resultados da busca na base Scopus sobre Gestão do Conhecimento são filtrados para destacar os documentos

UÍGE Bairro Kilomosso CARACTERÍSTICAS DO IMÓVEL: 121000m2 Rés do Chão ESTADO DO IMÓVEL: Obras inacabadas. Condomínio Kilevos

Se não vou escrever mais nada porque o jornal não vai publicar, posso agir!. SOB O OLHAR PERPLEXO DE GARCIA LOPES, DANTE RETIROU- SE

SI’s avançados são usados como opção para a exposição de pacientes aos estímulos fóbicos realizando a exposição a AV’s que simulam os estímulos eliciadores de ansiedade

Esse estudo teve o objetivo de estimar parâmetros genéticos para escore de temperamento de bovinos da raça Nelore, entre os quais a correlação genética desta

Virginius Daniel Moody estabelece a Moody Engineering para projetos de construção e engenharia nos EUA, depois passando para testes e certificação de óleo e gás. Caleb Brett