Pular para conteúdo

2000

Faixa de problemas: 2000-2099

Total: 18 problemas

2003 - Domingo de Manhã

Descrição do Problema: 2003 - Domingo de Manhã

2003 - Domingo de Manhã
var hora := leia_inteiros(":")
enquanto nao eof faca
  n = hora[1] * 60 + hora[2] - 420
  se n > 0 entao
    escreva "Atraso maximo: {n}"
  senao
    escreva "Atraso maximo: 0"
  fim
  hora := leia_inteiros(":")
fim

2006 - Identificando o Chá

Descrição do Problema: 2006 - Identificando o Chá

2006 - Identificando o Chá
1
2
3
4
n = leia_inteiro
nums = leia_inteiros(" ")
c = nums.selecione(_ == n).tamanho
escreva c

2018 - Olimpíadas de Natal

Descrição do Problema: 2018 - Olimpíadas de Natal

2018 - Olimpíadas de Natal
tipo Pais
    nome: Texto
    ouro, prata, bronze: Inteiro
    pontos = ouro * 1000000 + prata * 1000 + bronze
    texto() = "{nome} {ouro} {prata} {bronze}"
fim

soma(a: Lista[Pais]): Pais
  pontos = a.injete(0)(_ + _.pontos)
  ouro = pontos div 1000000
  prata = (pontos div 1000) mod 1000
  bronze = pontos mod 1000
  Pais(a[1].nome, ouro, prata, bronze)
fim


var paises: Lista[Pais] := []
leia_texto
enquanto nao eof faça
  a, b, c = leia_texto
  paises := Pais(a, 1, 0, 0) :: Pais(b, 0, 1, 0) :: Pais(c, 0, 0, 1) :: paises
  leia_texto
fim

ordem = paises.ordene(_.nome)
            .divida_quando(_.nome <> _.nome)
            .mapeie(soma)
            .ordene(_.nome)
            .ordene(- _.pontos)

escreva "Quadro de Medalhas"
escreva ordem.mapeie(_.texto).junte("\n")

2023 - A Última Criança Boa

Descrição do Problema: 2023 - A Última Criança Boa

2023 - A Última Criança Boa
1
2
3
4
5
6
7
8
9
var ultima := ""
var a := leia_texto
enquanto nao eof faca
  se a.maiusculo > ultima.maiusculo entao
    ultima := a
  fim
  a := leia_texto
fim
escreva ultima

2028 - Sequência de Sequência

Descrição do Problema: 2028 - Sequência de Sequência

2028 - Sequência de Sequência
var casos := 0
var entrada := leia_texto
enquanto nao eof faca
  n = entrada.inteiro
  casos := casos + 1
  saida = 0 :: para i de 1 ate n, j de 1 ate i gere i fim
  tamanho = saida.tamanho
  escreva "Caso {casos}: {tamanho} {se tamanho == 0 entao "numero" senao "numeros" fim}"
  escreva saida.junte(" ")
  escreva ""
  entrada := leia_texto
fim

2029 - Reservatório de Mel

Descrição do Problema: 2029 - Reservatório de Mel

2029 - Reservatório de Mel
var volume := leia_real
enquanto volume > 0 faca
  diametro = leia_real
  raio = diametro / 2
  area  = 3.14 * raio ^ 2
  altura = volume / area
  escreva "ALTURA = {altura  formato "%.2f"}"
  escreva "AREA = {area formato "%.2f"}"
  volume := leia_real
fim

2031 - Pedra, Papel, Ataque Aéreo

Descrição do Problema: 2031 - Pedra, Papel, Ataque Aéreo

2031 - Pedra, Papel, Ataque Aéreo
n = leia_inteiro
para i de 1 até n faça
  jogador1, jogador2 = leia_texto
  se jogador1 == jogador2 então
    escolha jogador1
      caso "ataque" => escreva "Aniquilacao mutua"
      caso "pedra"  => escreva "Sem ganhador"
      caso _        => escreva "Ambos venceram"
    fim
  senãose jogador1 == "ataque" ou jogador2 == "papel" então
    escreva "Jogador 1 venceu"
  senão
    escreva "Jogador 2 venceu"
  fim
fim

2044 - Em Dívida

Descrição do Problema: 2044 - Em Dívida

2044 - Em Dívida
1
2
3
4
5
6
7
8
9
enquanto leia_inteiro > 0 faca
  p = leia_inteiros(" ")
  var soma, d := 0
  para a em p faca
    soma := (soma + a) mod 100
    se soma == 0 entao d := d + 1 fim
  fim
  escreva d
fim

2057 - Fuso Horário

Descrição do Problema: 2057 - Fuso Horário

2057 - Fuso Horário
1
2
3
s = leia_inteiros(" ")
soma = s[1] + s[2] + s[3] + 24
escreva soma mod 24

2058 - Triângulos e Polígonos Regulares

Descrição do Problema: 2058 - Triângulos e Polígonos Regulares

2058 - Triângulos e Polígonos Regulares
n = leia_inteiro
escreva n - 2

2059 - Ímpar, Par ou Roubo

Descrição do Problema: 2059 - Ímpar, Par ou Roubo

2059 - Ímpar, Par ou Roubo
in = leia_inteiros(" ")
p = in[1] == 1
par = (in[2] + in[3]) mod 2 == 0
r = in[4] == 1
a = in[5] == 1
jog2 = (r e a) ou (não r e não a e p <> par)

se jog2 então
  escreva "Jogador 2 ganha!"
senão
  escreva "Jogador 1 ganha!"
fim

2060 - Desafio de Bino

Descrição do Problema: 2060 - Desafio de Bino

2060 - Desafio de Bino
n = leia_inteiro
lista = leia_inteiros(" ")
m2 = lista.selecione(x => x mod 2 == 0).tamanho
m3 = lista.selecione(x => x mod 3 == 0).tamanho
m4 = lista.selecione(x => x mod 4 == 0).tamanho
m5 = lista.selecione(x => x mod 5 == 0).tamanho

escreva "{m2} Multiplo(s) de 2"
escreva "{m3} Multiplo(s) de 3"
escreva "{m4} Multiplo(s) de 4"
escreva "{m5} Multiplo(s) de 5"

2061 - As Abas de Péricles

Descrição do Problema: 2061 - As Abas de Péricles

2061 - As Abas de Péricles
1
2
3
4
5
6
a = leia_inteiros(" ")
n, m = a[1], a[2]

s = leia_textos(m)
x = n + s.selecione(_ == "fechou").tamanho - s.selecione(_ == "clicou").tamanho
escreva x

2062 - OBI URI

Descrição do Problema: 2062 - OBI URI

2062 - OBI URI
n = leia_inteiro
palavras = leia_textos(" ")
a = para palavra em palavras gere
      ini = palavra.pegue(2)
      se palavra.tamanho <> 3 ou (ini <> "OB" e ini <> "UR") entao
        palavra
      senao
        ini + "I"
      fim
    fim
escreva a.junte(" ")

2066 - amelborP mU

Descrição do Problema: 2066 - amelborP mU

2066 - amelborP mU
1
2
3
4
5
6
x = ["0", "36" , "360", "4005", "40050", "404550", "4045500",
  "40495500", "404955000", "4049955000", "40499550000",
  "404999550000", "4049995500000", "40499995500000",
  "404999955000000", "4049999955000000", "40499999550000000",
  "404999999550000000"]
escreva x[leia_inteiro]

2084 - Eleições

Descrição do Problema: 2084 - Eleições

2084 - Eleições
n = leia_inteiro
votacao = leia_inteiros(n).ordene((a, b) => a > b)
total_votos = votacao.injete(0)((x, y) => x + y)
perc_pri = votacao[1] / total_votos
perc_seg = votacao[2] / total_votos
se perc_pri >= 0.45 ou (perc_pri >= 0.4 e perc_pri - perc_seg >= 0.1) então
    escreva 1
senão
    escreva 2
fim

2087 - Conjuntos Bons e Ruins

Descrição do Problema: 2087 - Conjuntos Bons e Ruins

2087 - Conjuntos Bons e Ruins
var n := leia_inteiro
enquanto n > 0 faca
  palavras = leia_textos(n).ordene.mutavel
  var bom := verdadeiro
  var i := 1
  enquanto i < n e bom faca
    se palavras[i].tamanho <= palavras[i+1].tamanho e
       palavras[i] == palavras[i+1].pegue(palavras[i].tamanho) entao
      bom := falso
    fim
    i := i + 1
  fim
  se bom
    entao escreva "Conjunto Bom"
    senao escreva "Conjunto Ruim"
  fim
  n := leia_inteiro
fim

2091 - Número Solitário

Descrição do Problema: 2091 - Número Solitário

2091 - Número Solitário
f(a: Lista[Texto]): Texto = escolha a
  caso [x]               => x
  caso []                => ""
  caso x se x[1] <> x[2] => x.cabeca
  caso _                 => f(a.descarte(2))
fim

enquanto leia_inteiro > 0 faça
  a = leia_textos(" ").ordene
  p = f(a)
  escreva p
fim