2400
Faixa de problemas: 2400-2499
Total: 46 problemas
2402 - Selos
Descrição do Problema: 2402 - Selos
2402 - Selos |
---|
| n = BigInt(leia_texto)
fatoravel(a: BigInt, i: Inteiro): Logico = a > i e i < 100000 e (
a mod i == 0 ou fatoravel(a, i + 2)
)
resposta = se (n > 3 e n mod 2 == 0) ou fatoravel(n, 3) entao "S" senao "N" fim
escreva resposta
|
2408 - Vice-Campeão
Descrição do Problema: 2408 - Vice-Campeão
2408 - Vice-Campeão |
---|
| abc = leia_inteiros(" ").ordene
escreva abc[2]
|
2409 - Colchão
Descrição do Problema: 2409 - Colchão
2409 - Colchão |
---|
| entrada1, entrada2 = leia_inteiros(" ").ordene
a = entrada1[1]
b = entrada1[2]
c = entrada1[3]
h = entrada2[1]
l = entrada2[2]
se l > b e h > a então
escreva "S"
senão
escreva "N"
fim
|
2410 - Frequencia na Aula
Descrição do Problema: 2410 - Frequencia na Aula
2410 - Frequencia na Aula |
---|
| n = leia_inteiro
presencas = leia_textos(n).ordene.divida_quando(_ <> _).tamanho
escreva presencas
|
2413 - Busca na Internet
Descrição do Problema: 2413 - Busca na Internet
2414 - Desafio do Maior Número
Descrição do Problema: 2414 - Desafio do Maior Número
2414 - Desafio do Maior Número |
---|
| a = leia_inteiros(" ")
x = a.injete(0)((i,j) => se i > j entao i senao j fim)
escreva x
|
2416 - Corrida
Descrição do Problema: 2416 - Corrida
2416 - Corrida |
---|
| entrada = leia_inteiros(" ")
c = entrada[1]
n = entrada[2]
escreva c mod n
|
2417 - Campeonato
Descrição do Problema: 2417 - Campeonato
2417 - Campeonato |
---|
| a = leia_inteiros(" ")
cv, ce, cs, fv, fe, fs = a[1], a[2], a[3], a[4], a[5], a[6]
c = cv * 3000 + ce * 1000 + cs
f = fv * 3000 + fe * 1000 + fs
se c > f entao
escreva "C"
senãose c < f então
escreva "F"
senao
escreva "="
fim
|
2418 - Carnaval
Descrição do Problema: 2418 - Carnaval
2418 - Carnaval |
---|
| n = leia_reais(" ")
# soma = n.descarte(1).pegue(3).injete(0)(_ + _)
menor =
se n[1] <= n[2] e n[1] <= n[3] e n[1] <= n[4] e n[1] <= n[5] entao n[1]
senãose n[2] <= n[3] e n[2] <= n[4] e n[2] <= n[5] entao n[2]
senãose n[3] <= n[4] e n[3] <= n[5] entao n[3]
senãose n[4] <= n[5] entao n[4]
senão n[5]
fim
maior =
se n[1] >= n[2] e n[1] >= n[3] e n[1] >= n[4] e n[1] >= n[5] entao n[1]
senãose n[2] >= n[3] e n[2] >= n[4] e n[2] >= n[5] entao n[2]
senãose n[3] >= n[4] e n[3] >= n[5] entao n[3]
senãose n[4] >= n[5] entao n[4]
senão n[5]
fim
soma = n[1] + n[2] + n[3] + n[4] + n[5] - menor - maior
escreva soma formato "%.1f"
|
2420 - Guerra por Território
Descrição do Problema: 2420 - Guerra por Território
2420 - Guerra por Território |
---|
| n = leia_inteiro
var a := leia_inteiros(" ")
total = a.injete(0)(_ + _)
var metade := 0
enquanto metade < total div 2 faça
metade := metade + a.cabeça
a := a.cauda
fim
escreva n - a.tamanho
|
2421 - Álbum de Fotos
Descrição do Problema: 2421 - Álbum de Fotos
2421 - Álbum de Fotos |
---|
| maior(x, y: Inteiro) = se x > y entao x senao y fim
a, b, c = leia_inteiros(" ").ordene
se b[2]+c[2] <= a[2] e maior(b[1], c[1]) <= a[1] ou
b[1]+c[2] <= a[2] e maior(b[2], c[1]) <= a[1] ou
b[2]+c[1] <= a[2] e maior(b[1], c[2]) <= a[1] ou
b[1]+c[1] <= a[2] e maior(b[2], c[2]) <= a[1] ou
b[1]+c[1] <= a[1] e maior(b[2], c[2]) <= a[2] entao
escreva "S"
senao
escreva "N"
fim
|
2422 - Soma das Casas
Descrição do Problema: 2422 - Soma das Casas
2422 - Soma das Casas |
---|
| n = leia_inteiro
c = Lista.mutável(n, 0)
para i de 1 até n faça c[i] := leia_inteiro fim
k = leia_inteiro
var min, max := 1, n
enquanto min < max faça
soma = c[min] + c[max]
se soma > k então
max := max - 1
senãose soma < k então
min := min + 1
senão
escreva "{c[min]} {c[max]}"
min := max # terminar
fim
fim
|
2423 - Receita de Bolo
Descrição do Problema: 2423 - Receita de Bolo
2423 - Receita de Bolo |
---|
| s = leia_inteiros(" ")
farinha, ovos, leite = s[1] div 2, s[2] div 3, s[3] div 5
se farinha <= ovos e farinha <= leite entao
escreva farinha
senaose ovos <= leite entao
escreva ovos
senao
escreva leite
fim
|
2424 - Tira-teima
Descrição do Problema: 2424 - Tira-teima
2424 - Tira-teima |
---|
| a = leia_inteiros(" ")
x, y = a[1], a[2]
se x >= 0 e x <= 432 e y >= 0 e y <= 468 entao
escreva "dentro"
senão
escreva "fora"
fim
|
2427 - Chocolate
Descrição do Problema: 2427 - Chocolate
2427 - Chocolate |
---|
| pedacos(lado: Inteiro): Inteiro =
se lado < 2 entao 1
senao
a = lado div 2
4 * pedacos(a)
fim
l = leia_inteiro
escreva pedacos(l)
|
2428 - Capital
Descrição do Problema: 2428 - Capital
2428 - Capital |
---|
| x = leia_inteiros(" ").ordene
se x[1] * x[4] == x[2] * x[3] então
escreva "S"
senão
escreva "N"
fim
|
2434 - Saldo do Vovô
Descrição do Problema: 2434 - Saldo do Vovô
2434 - Saldo do Vovô |
---|
| x = leia_inteiros(" ")
n = x[1]
var saldo := x[2]
mov = leia_inteiros(n)
var menor := saldo
para i em mov faça
saldo := saldo + i
se saldo < menor então
menor := saldo
fim
fim
escreva menor
|
2435 - Corrida
Descrição do Problema: 2435 - Corrida
2435 - Corrida |
---|
| a, b = leia_inteiros(" ")
se a[2] / a[3] < b[2] / b[3] entao
escreva a[1]
senao
escreva b[1]
fim
|
2437 - Distância de Manhattan
Descrição do Problema: 2437 - Distância de Manhattan
2437 - Distância de Manhattan |
---|
| entrada = leia_inteiros(" ")
xm = entrada[1]
ym = entrada[2]
xr = entrada[3]
yr = entrada[4]
a = abs(xm - xr) + abs(ym - yr)
escreva a
|
2441 - Janela
Descrição do Problema: 2441 - Janela
2441 - Janela |
---|
| min(x, y: Inteiro) = se x < y então x senão y fim
a = leia_inteiros(" ").ordene
r = 400 - min(200, a[2]-a[1]) - min(200, a[3]-a[2])
escreva r*100
|
2443 - Soma de Frações
Descrição do Problema: 2443 - Soma de Frações
2443 - Soma de Frações |
---|
| mdc(i, j: Inteiro): Inteiro =
se i == 0 entao j
senaose i > j entao mdc(i mod j , j)
senao mdc(j, i) fim
x = leia_inteiros(" ")
a, b, c, d = x[1], x[2], x[3], x[4]
num = a * d + c * b
den = b * d
m = mdc(num, den)
escreva "{num div m} {den div m}"
|
2444 - Volume da TV
Descrição do Problema: 2444 - Volume da TV
2444 - Volume da TV |
---|
| min(x, y: Inteiro) = se x < y então x senão y fim
max(x, y: Inteiro) = se x > y então x senão y fim
v = leia_inteiros(" ")[1]
var a := leia_inteiros(" ")
escreva a.injete(v)((x, y) => max(min(x + y, 100), 0))
|
2449 - Fechadura
Descrição do Problema: 2449 - Fechadura
2449 - Fechadura |
---|
| n = leia_inteiros(2)
var res, i := 0, 1
var fechaduras := leia_inteiros(n[1])
enquanto i < n[1] faça
res := res + abs(n[2] - fechaduras[i])
se fechaduras[i] == fechaduras[i+1] então
i := i + 1
senão
fechaduras[i+1] := fechaduras[i+1] + (n[2] - fechaduras[i])
fim
i := i + 1
fim
escreva res
|
2450 - Matriz Escada
Descrição do Problema: 2450 - Matriz Escada
2450 - Matriz Escada |
---|
| a = leia_inteiros(" ")
n, m = a[1], a[2]
var coluna := -1
var resposta := "S"
para i de 1 até n se resposta == "S" faça
zeros = leia_inteiros(" ").pegue_enquanto(_ == 0).tamanho
se zeros > coluna ou zeros == m então
coluna := zeros
senão
resposta := "N"
fim
fim
escreva resposta
|
2451 - PacMan
Descrição do Problema: 2451 - PacMan
2451 - PacMan |
---|
| n = leia_inteiro
linhas =
para i de 1 ate n gere
a = leia_texto.selecione(_ <> '.')
se i mod 2 == 1 entao a senão a.inverta fim
fim
comidas = linhas.junte("").divida("A").ordene(_.tamanho).inverta
escreva comidas[1].tamanho
|
2453 - Língua do P
Descrição do Problema: 2453 - Língua do P
2453 - Língua do P |
---|
| decifrar(p: Texto) =
para i de 2 ate p.tamanho passo 2 gere p[i] fim.junte("")
palavras = leia_textos(" ")
mensagem = palavras.mapeie(decifrar).junte(" ")
escreva mensagem
|
2454 - Flíper
Descrição do Problema: 2454 - Flíper
2454 - Flíper |
---|
| entrada = leia_inteiros(" ")
p = entrada[1]
r = entrada[2]
se p == 0 então
escreva "C"
senãose r == 0 então
escreva "B"
senão
escreva "A"
fim
|
2455 - Gangorra
Descrição do Problema: 2455 - Gangorra
2455 - Gangorra |
---|
| entrada = leia_inteiros(" ")
p1 = entrada[1]
c1 = entrada[2]
p2 = entrada[3]
c2 = entrada[4]
lado1 = p1 * c1
lado2 = p2 * c2
se lado1 == lado2 então
escreva 0
senãose lado2 > lado1 então
escreva 1
senão
escreva -1
fim
|
2456 - Cartas
Descrição do Problema: 2456 - Cartas
2456 - Cartas |
---|
| a = leia_inteiros(" ")
b = a.ordene
c = b.inverta
se a == b entao
escreva "C"
senaose a == c entao
escreva "D"
senao
escreva "N"
fim
|
2457 - Letras
Descrição do Problema: 2457 - Letras
2457 - Letras |
---|
| c = leia_texto[1]
texto = leia_textos(" ")
palavras = texto.selecione(_.contem(c))
escreva (palavras.tamanho * 100 / texto.tamanho) formato "%.1f"
|
2460 - Fila
Descrição do Problema: 2460 - Fila
2460 - Fila |
---|
| #n = leia_texto
#a = leia_textos(" ")
#m = leia_texto
#b = leia_textos(" ")
#escreva (a - b).junte(" ")
remover(fila, resultado: Lista[(Inteiro, Inteiro)], saida: Lista[Inteiro]): Lista[Inteiro] =
se [] == saida entao
(fila + resultado).ordene(_.segundo).mapeie(_.primeiro)
senaose fila[1].primeiro < saida[1] entao
remover(fila.cauda, fila[1]::resultado, saida)
senao
remover(fila.cauda, resultado, saida.cauda)
n = leia_inteiro
entrada = leia_inteiros(" ")
var m := leia_inteiro
var saida := leia_inteiros(" ").ordene
indice = para i de 1 até n gere i fim
var fila = entrada.zip(indice).ordene(_.primeiro)
var resultado := [(0, 0)].cauda
enquanto saida <> [] faça
enquanto fila[1].primeiro < saida[1] faca
resultado := fila[1] :: resultado
fila := fila.cauda
fim
saida := saida.cauda
fila := fila.cauda
fim
resultado := fila + resultado
final = resultado.ordene(_.segundo).mapeie(_.primeiro).junte(" ")
escreva final
|
2462 - Voo
Descrição do Problema: 2462 - Voo
2462 - Voo |
---|
| entrada = leia_texto.divida(" ").mapeie(_.divida(":").mapeie(_.inteiro))
h1, m1 = entrada[1][1], entrada[1][2]
h2, m2 = entrada[2][1], entrada[2][2]
h3, m3 = entrada[3][1], entrada[3][2]
h4, m4 = entrada[4][1], entrada[4][2]
t1, t2, t3, t4 = (h1 * 60) + m1, (h2 * 60) + m2, (h3 * 60) + m3, (h4 * 60) + m4
d1 = se t1 > t2 então 1440 - t1 + t2 senão t2 - t1 fim
d2 = se t3 > t4 então 1440 - t3 + t4 senão t4 - t3 fim
voo_hr = (d1 + d2) div 2 - (se d1 + d2 > 1440 então 720 senão 0 fim)
fus_diferent = d1 - voo_hr - (se d1 - voo_hr > 720 então 1440 senão 0 fim)
escreva "{voo_hr} {fus_diferent div 60}"
|
2463 - Corredor
Descrição do Problema: 2463 - Corredor
2463 - Corredor |
---|
| leia_texto
var a := leia_inteiros(" ")
var soma, aux := 0
var tam := a.tamanho
enquanto tam > 0 faca
soma := soma + a[1]
se soma > aux entao aux := soma fim
se soma < 0 entao
soma := 0
fim
a := a.cauda
tam := tam - 1
fim
escreva aux
|
2464 - Decifra
Descrição do Problema: 2464 - Decifra
2464 - Decifra |
---|
| alfa = leia_texto.minusculo
senha = leia_texto.minusculo
inicio = 'a' - 1
original = senha.lista
.mapeie(_.inteiro - inicio)
.mapeie(alfa[_])
.junte("")
escreva original
|
2465 - Passa Bolinha
Descrição do Problema: 2465 - Passa Bolinha
2465 - Passa Bolinha |
---|
| n = leia_inteiro
a = leia_inteiros(" ")
matriz = Lista(n, leia_inteiros(" "))
var marcado = Lista(n, Lista(n, falso))
var bandeiras := 0
marcar(x, y: Inteiro): Nada
marcado[x][y] := verdadeiro
bandeiras := bandeiras + 1
vizinhos = [(x - 1, y), (x + 1, y), (x, y - 1), (x, y + 1)]
para a em vizinhos faça
i, j = a.primeiro, a.segundo
se i > 0 e i <= n e j > 0 e j <= n e matriz[x][y] <= matriz[i][j] e não marcado[i][j] então
marcar(i, j)
fim
fim
fim
marcar(a[1], a[2])
escreva bandeiras
|
2466 - Sinuca
Descrição do Problema: 2466 - Sinuca
2466 - Sinuca |
---|
| leia_inteiro
var linha := leia_inteiros(" ")
enquanto linha.tamanho > 1 faça
linha := para i de 2 até linha.tamanho gere
linha[i - 1] * linha[i]
fim
fim
escolha linha[1]
caso -1 => escreva "branca"
caso 1 => escreva "preta"
fim
|
2469 - Notas
Descrição do Problema: 2469 - Notas
2469 - Notas |
---|
| qnt_alunos = leia_inteiro
notas = leia_inteiros(" ")
notas_ord = notas.ordene
var i = 1
var maior_repetidos = 1
var maior_nota = 0
enquanto i <= qnt_alunos faça
repetidos = notas_ord.selecione(n => n == notas_ord[i])
i := i + repetidos.tamanho - 1
se repetidos.tamanho >= maior_repetidos então
maior_repetidos := repetidos.tamanho
maior_nota := notas_ord[i]
fim
i := i + 1
fim
escreva maior_nota
# Solução mais simplificada
# qnt_alunos = leia_inteiro
# notas = leia_inteiros(" ")
# escreva notas.ordene(- _).divida_quando((a, b) => a <> b).ordene(- _.tamanho)[1][1]
|
2472 - Tapetes
Descrição do Problema: 2472 - Tapetes
2472 - Tapetes |
---|
| a = leia_inteiros(" ")
l, n = BigInt(a[1]), BigInt(a[2])
saida = (l - n + 1) * (l - n + 1) + n - 1
escreva saida
|
2473 - Loteria
Descrição do Problema: 2473 - Loteria
2473 - Loteria |
---|
| aposta, sorteio = leia_inteiros(" ")
acertos = para i em aposta,
j em sorteio se i == j gere i fim
resposta = ["azar", "azar", "azar", "terno", "quadra", "quina", "sena"]
escreva resposta[acertos.tamanho + 1]
|
2479 - Ordenando a Lista de Crianças do Papai Noel
Descrição do Problema: 2479 - Ordenando a Lista de Crianças do Papai Noel
2479 - Ordenando a Lista de Crianças do Papai Noel |
---|
| n = leia_inteiro
lista = leia_textos(n).mapeie(a => a.divida(" "))
nomes = lista.mapeie(a => a[2]).ordene
comportados = lista.selecione(a => a[1] == "+").tamanho
escreva nomes.junte("\n")
escreva "Se comportaram: {comportados} | Nao se comportaram: {n - comportados}"
|
2483 - Feliz Nataaal!
Descrição do Problema: 2483 - Feliz Nataaal!
2483 - Feliz Nataaal! |
---|
| i = leia_inteiro
escreva "Feliz nat{"a"*i}l!"
|
2484 - Abracadabra
Descrição do Problema: 2484 - Abracadabra
2484 - Abracadabra |
---|
| var s := leia_texto
enquanto nao eof faca
t = s.tamanho
para i de 0 ate t - 1 faca
escreva " " * i + s.pegue(t - i).junte(" ")
fim
escreva ""
s := leia_texto
fim
|
2486 - C Mais ou Menos?
Descrição do Problema: 2486 - C Mais ou Menos?
2486 - C Mais ou Menos? |
---|
| var t := leia_inteiro
enquanto t > 0 faça
var total := 0
para i de 1 até t faça
a = leia_textos(" ")
peso = escolha a.descarte(1).junte(" ")
caso "suco de laranja" => 120
caso "morango fresco" => 85
caso "mamao" => 85
caso "goiaba vermelha" => 70
caso "manga" => 56
caso "laranja" => 50
caso "brocolis" => 34
caso _ => 0
fim
total := total + a[1].inteiro * peso
fim
se total > 130 então
escreva "Menos {total - 130} mg"
senãose total < 110 então
escreva "Mais {110 - total} mg"
senão
escreva "{total} mg"
fim
t := leia_inteiro
fim
|
2493 - Jogo do Operador
Descrição do Problema: 2493 - Jogo do Operador
2493 - Jogo do Operador |
---|
| var t := leia_inteiro
enquanto t > 0 faca
jogos = para i de 1 ate t,
a em [leia_textos("=")],
b em [a[1].divida(" ").mapeie(_.inteiro)],
x em [b[1]], y em [b[2]], z em [a[2].inteiro] gere
(se x + y == z entao "+" senao "" fim)
+ (se x - y == z entao "-" senao "" fim)
+ (se x * y == z entao "*" senao "" fim)
fim
var passou := Lista(0, "")
para i de 1 ate t faca
a = leia_textos(" ")
n, eh, r = a[1], a[2].inteiro, a[3].cabeca
se nao (jogos[eh].contem(r) ou (jogos[eh] == "" e r == 'I')) entao passou := n :: passou fim
fim
se passou.tamanho == t entao
escreva "None Shall Pass!"
senaose passou.tamanho == 0 entao
escreva "You Shall All Pass!"
senão
escreva passou.ordene.junte(" ")
fim
t := leia_inteiro
fim
|
2496 - A Única Chance
Descrição do Problema: 2496 - A Única Chance
2496 - A Única Chance |
---|
| n = leia_inteiro
para i de 1 ate n faca
m = leia_inteiro
s = leia_texto
trocas = para j de 1 ate m se s[j] - 'A' <> j - 1 gere 1 fim.tamanho
se trocas < 3 entao
escreva "There are the chance."
senao
escreva "There aren't the chance."
fim
fim
|
2497 - Contando Ciclos
Descrição do Problema: 2497 - Contando Ciclos
2497 - Contando Ciclos |
---|
| var n := leia_inteiro
var x := 0
enquanto n >= 0 faca
x := x + 1
escreva "Experiment {x}: {n div 2} full cycle(s)"
n := leia_inteiro
fim
|