Pular para conteúdo

2500

Faixa de problemas: 2500-2599

Total: 36 problemas

2502 - Decifrando a Carta Criptografada

Descrição do Problema: 2502 - Decifrando a Carta Criptografada

2502 - Decifrando a Carta Criptografada
var a := leia_texto
enquanto nao eof faca
  var letras = para i de 1 ate 255 gere i fim #.mutavel
  c, n = a.divida(" ")[1].inteiro, a.divida(" ")[2].inteiro
  zenit, polar = leia_texto.minúsculo
  ZENIT, POLAR = zenit.maiúsculo, polar.maiúsculo

  para i de 1 ate c faca
    letras[ZENIT[i]] := POLAR[i]
    letras[POLAR[i]] := ZENIT[i]
    letras[zenit[i]] := polar[i]
    letras[polar[i]] := zenit[i]
  fim
  para i de 1 ate n faca
    s = leia_texto.mapeie(letras[_].caractere).junte("")
    escreva s
  fim
  escreva ""
  a := leia_texto
fim

2510 - Batmain

Descrição do Problema: 2510 - Batmain

2510 - Batmain
1
2
3
4
5
n = leia_inteiro
para i de 1 ate n faca
  leia_texto
  escreva("Y")
fim

2514 - Alinhamento Lunar

Descrição do Problema: 2514 - Alinhamento Lunar

2514 - Alinhamento Lunar
mmc(x, y: Inteiro) = x * y div mdc(x, y)

mdc(x, y: Inteiro): Inteiro =
  se y == 0 então x senão mdc(y, x mod y) fim

mmc_triplo(x, y, z: Inteiro) = mmc(x, mmc(y, z))

proximo_alinhamento(m, l1, l2, l3: Inteiro)
  periodo = mmc_triplo(l1, l2, l3)
  anos_faltantes = periodo - m
  retorne anos_faltantes
fim

var m := leia_inteiro
enquanto m > 0 faça
  l = leia_inteiros(" ")
  anos_faltantes = proximo_alinhamento(m, l[1], l[2], l[3])
  escreva anos_faltantes
  m := leia_inteiro
fim

2516 - Corrida

Descrição do Problema: 2516 - Corrida

2516 - Corrida
var b := leia_inteiros(" ")
enquanto nao eof faca
  v = b[2] - b[3]
  se v > 0 entao
    s = b[1]
    escreva s / v formato "%.2f"
  senao
    escreva "impossivel"
  fim
  b := leia_inteiros(" ")
fim

2518 - Escada do DINF

Descrição do Problema: 2518 - Escada do DINF

2518 - Escada do DINF
1
2
3
4
5
6
7
8
var n := leia_inteiro
enquanto n > 0 faça
  medida = leia_inteiros(" ")
  h, c, l = medida[1], medida[2], medida[3]
  area = n * l * raiz(h ^ 2 + c ^ 2) / 10000
  escreva area formato "%.4f"
  n := leia_inteiro
fim

2520 - O Último Analógimôn

Descrição do Problema: 2520 - O Último Analógimôn

2520 - O Último Analógimôn
var entrada := leia_texto
enquanto nao eof faca
  a = entrada.divida(" ").mapeie(_.inteiro)
  n, m = a[1], a[2]
  var x1, y1, x2, y2 := 0
  para i de 1 ate n faca
    linha = leia_inteiros(" ")
    para j de 1 ate m faca
      se linha[j] == 1 entao
        x1, y1 := i, j
      fim
      se linha[j] == 2 entao
        x2, y2 := i, j
      fim
    fim
  fim
  tempo = (x2 - x1).abs + (y2 - y1).abs
  escreva tempo
  entrada := leia_texto
fim

2523 - A Mensagem de Will

Descrição do Problema: 2523 - A Mensagem de Will

2523 - A Mensagem de Will
loop(): Nada
  s = leia_texto
  se nao eof entao
    n = leia_inteiro
    nums = leia_inteiros(" ")
    escreva nums.mapeie(a => s[a]).junte("")
    loop()
  fim
fim

loop

2530 - Cola

Descrição do Problema: 2530 - Cola

2530 - Cola
cola(n, m: Inteiro, juan, ricardinho: Lista[Inteiro]): Lógico =
  se m == 0 então
    verdadeiro
  senãose n == 0 então
    falso
  senãose juan[1] == ricardinho[1] então
    cola(n-1, m-1, juan.cauda, ricardinho.cauda)
  senão
    cola(n-1, m, juan.cauda, ricardinho)
  fim

var nm := leia_texto
enquanto nao eof faça
  n = nm.divida(" ")[1].inteiro
  m = nm.divida(" ")[2].inteiro
  juan, ricardinho = leia_inteiros(" ")
  c = cola(n, m, juan, ricardinho)
  escreva (se c então "sim" senão "nao" fim)
  nm := leia_texto
fim

2533 - Estágio

Descrição do Problema: 2533 - Estágio

2533 - Estágio
var m := leia_inteiro
enquanto m > 0 faca
  var produto, cargas := 0
  para i de 1 ate m faca
    a = leia_inteiros(" ")
    n, c = a[1], a[2]
    produto := produto + n * c
    cargas := cargas + c
  fim
  ira = produto / (100 * cargas)
  escreva ira formato "%.4f"
  m := leia_inteiro
fim

2534 - Exame Geral

Descrição do Problema: 2534 - Exame Geral

2534 - Exame Geral
var a := leia_inteiros(" ")
enquanto nao eof faca
  n, q = a[1], a[2]
  notas = leia_inteiros(n).ordene.inverta
  para i de 1 ate q faca
    p = leia_inteiro
    escreva notas[p]
  fim
  a := leia_inteiros(" ")
fim

2540 - Impeachment do Líder

Descrição do Problema: 2540 - Impeachment do Líder

2540 - Impeachment do Líder
var n := leia_inteiro
enquanto n > 0 faca
  v = leia_texto
  favoraveis = v.selecione(_ == '1').tamanho
  se favoraveis * 3 >= n * 2 entao
    escreva "impeachment"
  senao
    escreva "acusacao arquivada"
  fim
  n := leia_inteiro
fim

2542 - Iu-Di-Oh!

Descrição do Problema: 2542 - Iu-Di-Oh!

2542 - Iu-Di-Oh!
var n := leia_inteiro
enquanto n > 0 faca
  x = leia_inteiros(" ")
  m, l = x[1], x[2]
  cartas_m, cartas_l = leia_textos(m), leia_textos(l)
  c = leia_inteiros(" ")
  carta_m, carta_l = c[1], c[2]
  a = leia_inteiro
  marcos, leonardo = cartas_m[carta_m].divida(" ")[a].inteiro, cartas_l[carta_l].divida(" ")[a].inteiro
  se marcos > leonardo entao
    escreva "Marcos"
  senaose marcos < leonardo entao
    escreva "Leonardo"
  senao
    escreva "Empate"
  fim
  n := leia_inteiro
fim

2543 - Jogatina UFPR

Descrição do Problema: 2543 - Jogatina UFPR

2543 - Jogatina UFPR
var entrada := leia_texto
enquanto nao eof faça
  n, l = entrada.divida(" ")[1].inteiro, entrada.divida(" ")[2]
  var cont := 0
  s = "{l} 0"
  para a de 1 até n faça
    linha = leia_texto
    se linha == s então
      cont := cont + 1
    fim
  fim
  escreva cont
  entrada := leia_texto
fim

2544 - Kage Bunshin no Jutsu

Descrição do Problema: 2544 - Kage Bunshin no Jutsu

2544 - Kage Bunshin no Jutsu
1
2
3
4
5
var n := leia_inteiro
enquanto n > 0 faca
  escreva (log(n)/log(2)).arredonde
  n := leia_inteiro
fim

2547 - Montanha-Russa

Descrição do Problema: 2547 - Montanha-Russa

2547 - Montanha-Russa
1
2
3
4
5
6
7
8
9
var entrada := leia_texto
enquanto nao eof faca
  a = entrada.divida(" ").mapeie(_.inteiro)
  n, min, max = a[1], a[2], a[3]
  visitantes = leia_inteiros(n)
  permitidos = visitantes.selecione(v => v >= min e v <= max).tamanho
  escreva permitidos
  entrada := leia_texto
fim

2548 - Museu Virtual 3D

Descrição do Problema: 2548 - Museu Virtual 3D

2548 - Museu Virtual 3D
1
2
3
4
5
6
7
8
var a := leia_inteiros(" ")
enquanto não eof faça
  m = a[2]
  v = leia_inteiros(" ")
  soma = v.ordene.inverta.pegue(m).injete(0)(_ + _)
  escreva soma
  a := leia_inteiros(" ")
fim

2551 - Novo Recorde

Descrição do Problema: 2551 - Novo Recorde

2551 - Novo Recorde
var n := leia_inteiro
enquanto n > 0 faca
  var maior := 0.0
  para i de 1 ate n faca
    a = leia_inteiros(" ")
    t, d = a[1], a[2]
    se d / t > maior entao
      escreva i
      maior := d / t
    fim
  fim
  n := leia_inteiro
fim

2552 - PãodeQuejoSweeper

Descrição do Problema: 2552 - PãodeQuejoSweeper

2552 - PãodeQuejoSweeper
var entrada := leia_texto
enquanto nao eof faca
  a = entrada.divida(" ").mapeie(_.inteiro)
  n, m = a[1], a[2]
  tabuleiro = para i de 1 até n gere leia_inteiros(" ") fim
  para i de 1 ate n faca
    para j de 1 ate m faca
      soma = se tabuleiro[i][j] == 1 entao 9 senão
        (se i > 1 entao tabuleiro[i-1][j] senao 0 fim) +
        (se j > 1 entao tabuleiro[i][j-1] senao 0 fim) +
        (se i < n entao tabuleiro[i+1][j] senao 0 fim) +
        (se j < m entao tabuleiro[i][j+1] senao 0 fim)
      fim
      imprima soma
    fim
    escreva ""
  fim
  entrada := leia_texto
fim

2554 - Pizza Antes de BH

Descrição do Problema: 2554 - Pizza Antes de BH

2554 - Pizza Antes de BH
var a := leia_texto
enquanto nao eof faca
  d = a.divida(" ")[2].inteiro
  var i := 0
  var resp := "Pizza antes de FdI"
  enquanto i < d faca
    l = leia_texto.divida(" ")
    pizza = l.cauda.injete(verdadeiro)((x, y) => x e y == "1")
    se pizza e resp == "Pizza antes de FdI" entao
      resp := l[1]
    fim
    i := i + 1
  fim
  se i < 100 entao
    escreva resp
  fim
  a := leia_texto
fim

2556 - Reinauguração do CEI

Descrição do Problema: 2556 - Reinauguração do CEI

2556 - Reinauguração do CEI
1
2
3
4
5
6
7
var n := leia_inteiro
enquanto n > 0 faça
    m = leia_inteiros(" ").ordene
    a = m.descarte(n div 2 - 1)
    escreva "{n div 2} {a[2] - a[1]}"
    n := leia_inteiro
fim

2557 - R+L=J

Descrição do Problema: 2557 - R+L=J

2557 - R+L=J
var entrada := leia_texto
enquanto nao eof faça
  a = entrada.divida("\\=")
  b = a[1].divida("\\+")
  rlj = [b[1], b[2], a[2]].mapeie(_.inteiro)
  resposta = escolha rlj
    caso [r, l, 0] => r + l
    caso [r, 0, j] => j - r
    caso [0, l, j] => j - l
    caso _         => -1
  fim
  escreva resposta
  entrada := leia_texto
fim

2568 - Ações

Descrição do Problema: 2568 - Ações

2568 - Ações
n = leia_inteiros(4)
var soma := n[2]
var i := n[1] + 1
enquanto i <= n[1] + n[4] faça
    se i mod 2 <> 0 então
        soma := soma - n[3]
    senão
        soma := soma + n[3]
    fim
    i := i + 1
fim
escreva soma

2569 - A Bruxa do 7 x 1

Descrição do Problema: 2569 - A Bruxa do 7 x 1

2569 - A Bruxa do 7 x 1
1
2
3
4
5
entrada = leia_textos(" ")
a = entrada[1].mapeie(a => se a == '7' então '0' senão a fim).inteiro
b = entrada[3].mapeie(a => se a == '7' então '0' senão a fim).inteiro
c = se entrada[2] == "+" então a + b senão a * b fim
escreva c.texto.mapeie(a => se a == '7' então '0' senão a fim).inteiro

2579 - Nagol

Descrição do Problema: 2579 - Nagol

2579 - Nagol
a = leia_inteiros(" ")
l, c, x, y = a[1], a[2], a[3], a[4]
se (x mod 2 == 0) ou (c mod 2 == 0) entao
  se y mod 2 == 0 entao
    escreva "Direita"
  senao
    escreva "Esquerda"
  fim
senao
  se y mod 2 == 0 entao
    escreva "Esquerda"
  senao
    escreva "Direita"
  fim
fim

2581 - I am Toorg!

Descrição do Problema: 2581 - I am Toorg!

2581 - I am Toorg!
1
2
3
para i de 1 até leia_inteiro faça
  escreva "I am Toorg!"
fim

2582 - System of a Download

Descrição do Problema: 2582 - System of a Download

2582 - System of a Download
1
2
3
4
5
6
7
8
9
musicas = ["PROXYCITY","P.Y.N.G.","DNSUEY!","SERVERS",
"HOST!","CRIPTONIZE","OFFLINE DAY","SALT","ANSWER!",
"RAR?","WIFI ANTENNAS"]
n = leia_inteiro
para i de 1 até n faça
  teclas = leia_inteiros(" ")
  soma = teclas[1] + teclas[2] + 1
  escreva musicas[soma]
fim

2584 - Pentágono

Descrição do Problema: 2584 - Pentágono

2584 - Pentágono
1
2
3
4
5
6
7
c = leia_inteiro
const = 5 / 4 / tg(PI / 5)
para i de 1 ate c faca
  n = leia_inteiro
  area = const * n ^ 2
  escreva area formato "%.3f"
fim

2587 - Jetiqui

Descrição do Problema: 2587 - Jetiqui

2587 - Jetiqui
n = leia_inteiro
para i de 1 até n faça
  s1, s2, s3 = leia_texto.lista
  r1 = s1.zip(s3).selecione(_.segundo == '_').mapeie(_.primeiro)
  r2 = s2.zip(s3).selecione(_.segundo == '_').mapeie(_.primeiro)
  resp = r1.zip(r2).injete(falso)((a,b) =>
    a ou b.primeiro <> b.segundo e r2.contém(b.primeiro)
  )
  escreva se resp então "Y" senão "N" fim
fim

2588 - Jogo dos Palíndromos

Descrição do Problema: 2588 - Jogo dos Palíndromos

2588 - Jogo dos Palíndromos
var s:= leia_texto
enquanto não eof faça
  letras = s.ordene
            .divida_quando(_ <> _)
            .selecione(a => a.tamanho mod 2 == 1)
            .tamanho - 1
  se letras >= 0
    então escreva letras
    senão escreva 0
  fim
  s:= leia_texto
fim

2589 - Maior Distância Entre Primos Consecutivos

Descrição do Problema: 2589 - Maior Distância Entre Primos Consecutivos

2589 - Maior Distância Entre Primos Consecutivos
resultado(n: Int, saida: StringBuilder) =
  se n >= 436273291 então
    saida.append("282\n")
  senãose n >= 387096383 então
    saida.append("250\n")
  senãose n >= 191913031 então
    saida.append("248\n")
  senãose n >= 189695893 então
    saida.append("234\n")
  senãose n >= 122164969 então
    saida.append("222\n")
  senãose n >= 47326913 então
    saida.append("220\n")
  senãose n >= 20831533 então
    saida.append("210\n")
  senãose n >= 17051887 então
    saida.append("180\n")
  senãose n >= 4652507 então
    saida.append("154\n")
  senãose n >= 2010881 então
    saida.append("148\n")
  senãose n >= 1357333 então
    saida.append("132\n")
  senãose n >= 1349651 então
    saida.append("118\n")
  senãose n >= 492227 então
    saida.append("114\n")
  senãose n >= 370373 então
    saida.append("112\n")
  senãose n >= 360749 então
    saida.append("96\n")
  senãose n >= 156007 então
    saida.append("86\n")
  senãose n >= 31469 então
    saida.append("72\n")
  senãose n >= 19661 então
    saida.append("52\n")
  senãose n >= 15727 então
    saida.append("44\n")
  senãose n >= 9587 então
    saida.append("36\n")
  senãose n >= 1361 então
    saida.append("34\n")
  senãose n >= 1151 então
    saida.append("22\n")
  senãose n >= 907 então
    saida.append("20\n")
  senãose n >= 541 então
    saida.append("18\n")
  senãose n >= 127 então
    saida.append("14\n")
  senãose n >= 97 então
    saida.append("8\n")
  senãose n >= 29 então
    saida.append("6\n")
  senãose n >= 11 então
    saida.append("4\n")
  senãose n >= 5 então
    saida.append("2\n")
  senãose n >= 3 então
    saida.append("1\n")
  senão
    saida.append("0\n")
  fim

var a := leia_inteiro
saida = StringBuilder.newBuilder

enquanto a > 0 faça
  resultado(a, saida)
  a := leia_inteiro
fim

imprima saida

2591 - HameKameKa

Descrição do Problema: 2591 - HameKameKa

2591 - HameKameKa
1
2
3
4
5
6
7
8
c = leia_inteiro
para i de 1 ate c faca
  s = leia_texto
  p = s.posicao('m')
  a = p - 2
  b = s.tamanho - a - 6
  escreva "k" + "a" * (a * b) 
fim

2593 - Eachianos I

Descrição do Problema: 2593 - Eachianos I

2593 - Eachianos I
texto = leia_textos(" ")
n = leia_inteiro
palavras = leia_textos(" ")
var c := 0
letras = para p em texto gere
  t = c  
  c := c + 1 + p.tamanho
  [p, t]
fim
para a em palavras faca
  b = letras.selecione(p => p[1] == a).mapeie(p => p[2])
  se b.tamanho > 0 entao
    escreva b.junte(" ")
  senao
    escreva -1
  fim
fim

2594 - Eachianos II

Descrição do Problema: 2594 - Eachianos II

2594 - Eachianos II
n = leia_inteiro
para i de 1 ate n faca
  texto = leia_textos(" ")
  palavra = leia_texto
  var c := 0
  letras = para p em texto gere
    t = c
    c := c + 1 + p.tamanho
    [p, t]
  fim
  b = letras.selecione(p => p[1] == palavra).mapeie(p => p[2])
  se b.tamanho > 0 entao
    escreva b.junte(" ")
  senao
    escreva -1
  fim
fim

2596 - Xenlonguinho

Descrição do Problema: 2596 - Xenlonguinho

2596 - Xenlonguinho
c = leia_inteiro
var l := Lista(1000, 1)
para i de 2 ate 1000,
     j de i ate 1000 passo i faca
  l[j] := l[j] + 1
fim
numeros = l.lista.mapeie(a => a mod 2)
para i de 1 ate c faca
  n = leia_inteiro
  escreva numeros.pegue(n).injete(n)(_ - _)
fim

2597 - Xenlongão

Descrição do Problema: 2597 - Xenlongão

2597 - Xenlongão
1
2
3
4
5
6
7
c = leia_inteiro
para i de 1 ate c faca
  n = leia_inteiro
  r = raiz(n).inteiro
  a = n - r
  escreva a
fim

2598 - Colocando Radares

Descrição do Problema: 2598 - Colocando Radares

2598 - Colocando Radares
1
2
3
4
5
6
7
c = leia_inteiro
para i de 1 até c faça
  a = leia_inteiros(" ")
  n, m = a[1], a[2]
  s = n div m + (se n mod m == 0 então 0 senão 1 fim)
  escreva s
fim