3200
Faixa de problemas: 3200-3299
Total: 19 problemas
3204 - Honeycomb Walk
Descrição do Problema: 3204 - Honeycomb Walk
3204 - Honeycomb Walk |
---|
| n = leia_inteiro
para i de 1 ate n faca
a = leia_inteiro
b = escolha a
caso 1 => 0
caso 2 => 6
caso 3 => 12
caso 4 => 90
caso 5 => 360
caso 6 => 2040
caso 7 => 10080
caso 8 => 54810
caso 9 => 290640
caso 10=> 1588356
caso 11=> 8676360
caso 12=> 47977776
caso 13=> 266378112
caso _ => 1488801600
fim
escreva b
fim
|
3205 - Nasty Hacks
Descrição do Problema: 3205 - Nasty Hacks
3205 - Nasty Hacks |
---|
| n = leia_inteiro
para i de 1 até n faça
a = leia_inteiros(" ")
revenue, expected = a[1], a[2] - a[3]
se revenue < expected então
escreva "advertise"
senãose revenue > expected então
escreva "do not advertise"
senão
escreva "does not matter"
fim
fim
|
3208 - O Criptógrafo Envergonhado
Descrição do Problema: 3208 - O Criptógrafo Envergonhado
3208 - O Criptógrafo Envergonhado |
---|
| var entrada := leia_texto
enquanto entrada <> "0 0" faca
k = BigInt(entrada.divida(" ")[1])
l = entrada.divida(" ")[2].inteiro
var i := 2
enquanto k mod i <> 0 e i <= l faca i := i + 1 fim
se i >= l entao
escreva "GOOD"
senao
escreva "BAD {i}"
fim
entrada := leia_texto
fim
|
3209 - Tomadas Elétricas
Descrição do Problema: 3209 - Tomadas Elétricas
3209 - Tomadas Elétricas |
---|
| n = leia_inteiro
para i de 1 ate n faca
num = leia_inteiros(" ")
tomadas = num.cauda.injete(0)(_ + _) - num.cabeca + 1
escreva tomadas
fim
|
3214 - Refrigerante
Descrição do Problema: 3214 - Refrigerante
3214 - Refrigerante |
---|
| entrada = leia_inteiros(" ")
var g := entrada[1] + entrada[2]
c = entrada[3]
var resp := 0
enquanto g >= c faça
resp := resp + g div c
g := g div c + g mod c
fim
escreva resp
|
3217 - Chuva Caindo
Descrição do Problema: 3217 - Chuva Caindo
3217 - Chuva Caindo |
---|
| a = leia_reais(" ")
l, k, t1, t2, h = a[1], a[2], a[3], a[4], a[5]
solução(a, b, c: Real)
retorne (b + raiz(b^2 - 4 * a * c)) / (2 * a)
fim
min_max = se l > h então (h, h)
senão
# k * l * t1 + f ^ 2 == f * (h + k * (t1 + t2))
f = solução(1, h + k * (t1 + t2), k * l * t1)
se l < h então (f, f)
senão (h, f)
fim
fim
escreva "{min_max.primeiro formato "%.9f"} {min_max.segundo formato "%.9f"}"
|
3224 - Aaah!
Descrição do Problema: 3224 - Aaah!
3224 - Aaah! |
---|
| a, b = leia_texto
se a.tamanho >= b.tamanho entao
escreva "go"
senao
escreva "no"
fim
|
3225 - Ordenação dos Pães
Descrição do Problema: 3225 - Ordenação dos Pães
3225 - Ordenação dos Pães |
---|
| n = leia_inteiro
a, c = leia_inteiros(" ").mutavel
var b := Lista(n, 0).mutável
para i de 1 até n faça
b[a[i]] := c[i]
fim
var visto := Lista(n, falso).mutável
var possivel := n mod 2 == 0
para i de 1 até n se não visto[i] faça
possivel := não possivel
var j := i
enquanto não visto[j] faça
visto[j] := verdadeiro
j := b[j]
fim
fim
escreva (se possivel então "Possible" senão "Impossible" fim)
|
3227 - Doorman
Descrição do Problema: 3227 - Doorman
3227 - Doorman |
---|
| contar(max, diferença: Inteiro, fila: Lista[Caractere], total: Inteiro): Inteiro
se diferença > max ou -diferença > max então
total - 1
senãose fila == [] então
total
senãose fila.pegue(2).tamanho == 2 então
a = fila.pegue(2)
se a[1] == a[2] ou a[1] == 'M' e diferença <= 0 ou a[1] <> 'M' e diferença >= 0 então
d = se fila[1] == 'M' então diferença + 1 senão diferença - 1 fim
contar(max, d, fila.cauda, total + 1)
senão
d = se fila[2] == 'M' então diferença + 1 senão diferença - 1 fim
contar(max, d, fila[1] :: fila.cauda.cauda, total + 1)
fim
senão
d = se fila[1] == 'M' então diferença + 1 senão diferença - 1 fim
contar(max, d, fila.cauda, total + 1)
fim
fim
n = leia_inteiro
fila = leia_texto.lista
escreva contar(n, 0, fila, 0)
|
3241 - Ajude um Candidato a PhD!
Descrição do Problema: 3241 - Ajude um Candidato a PhD!
3241 - Ajude um Candidato a PhD! |
---|
| n = leia_inteiro
para i de 1 ate n faca
s = leia_inteiros("+")
se s.tamanho == 1 entao
escreva "skipped"
senao
soma = s[1] + s[2]
escreva soma
fim
fim
|
3249 - Death Knight Hero
Descrição do Problema: 3249 - Death Knight Hero
3249 - Death Knight Hero |
---|
| n = leia_inteiro
var total := n
para i de 1 ate n faca
a = " {leia_texto} "
se a.divida("CD").tamanho > 1 entao
total := total - 1
fim
fim
escreva total
|
3250 - Problema no Elevador
Descrição do Problema: 3250 - Problema no Elevador
3250 - Problema no Elevador |
---|
| a = leia_inteiros(5)
f, s, g, u, d = a[1], a[2], a[3], a[4], a[5]
var empurroes := 0
var andar := s
se andar < g e u > 0 então
empurroes := (g - andar) div u
andar := andar + empurroes * u
senãose andar < g então
empurroes := 1000000
senãose d > 0 então
empurroes := (andar - g) div d
andar := andar - empurroes * d
senão
empurroes := 1000000
fim
enquanto andar <> g e empurroes < 1000000 faça
empurroes := empurroes + 1
up, down = andar + u, andar - d
se up <= f e (andar < g ou down < 1) então
andar := up
senãose down >= 1 então
andar := down
senão
empurroes := 10000000
fim
fim
se empurroes < 1000000 então
escreva empurroes
senão
escreva "use the stairs"
fim
|
3257 - Plantando Árvores
Descrição do Problema: 3257 - Plantando Árvores
3257 - Plantando Árvores |
---|
| n = leia_inteiro
t = leia_inteiros(" ").ordene(_ > _)
var festa := 0
t.injete(2)((a, b) => se b + a > festa então festa := a + b a + 1 senao a + 1 fim)
escreva festa
|
3258 - Fervendo Vegetais
Descrição do Problema: 3258 - Fervendo Vegetais
3258 - Fervendo Vegetais |
---|
| t = leia_reais(" ")[1]
var ws := leia_inteiros(" ").ordene.mapeie(x => (x, 1, x.real))
n = ws.tamanho
var cortes := 0
enquanto ws[1].terceiro / ws[n].terceiro < t faça
wsn = ws[n]
c = wsn.segundo + 1
p = wsn.primeiro / c
ws[n] := (wsn.primeiro, c, p)
ws := ws.ordene(x => x.terceiro)
cortes := cortes + 1
fim
escreva cortes
|
3262 - Timebomb
Descrição do Problema: 3262 - Timebomb
3262 - Timebomb |
---|
| numeros = ["*** * *** *** * * *** *** *** *** ***",
"* * * * * * * * * * * * * *",
"* * * *** *** *** *** *** * *** ***",
"* * * * * * * * * * * * *",
"*** * *** *** * *** *** * *** ***"]
codigos(linhas: Lista[Texto]) =
para i de 0 até linhas[1].tamanho div 4 gere
para j de 1 até 5 gere linhas[j].descarte(i * 4).pegue(3) fim.junte("")
fim
num = codigos(numeros)
entrada = codigos(leia_textos(5))
beer = para a em entrada gere num.posição(a) - 1 fim.mapeie(_.texto).junte("")
se beer.contem('-') ou beer.inteiro mod 6 <> 0 então
escreva "BOOM!!"
senao
escreva "BEER!!"
fim
|
Descrição do Problema: 3263 - Apague Com Segurança
3263 - Apague Com Segurança |
---|
| n = leia_inteiro
a, b = leia_texto
c = se n mod 2 == 0 entao b senao b.mapeie(c => se c == '1' então '0' senão '1' fim) fim
se a == c então
escreva "Deletion succeeded"
senão
escreva "Deletion failed"
fim
|
3271 - Jogo de Dados
Descrição do Problema: 3271 - Jogo de Dados
3271 - Jogo de Dados |
---|
| soma(a, b: Inteiro) = a + b
gunnar, emma = leia_inteiros(" ").injete(0)(soma)
se gunnar > emma então
escreva "Gunnar"
senãose emma > gunnar então
escreva "Emma"
senão
escreva "Tie"
fim
|
3278 - Passageiros de Trem
Descrição do Problema: 3278 - Passageiros de Trem
3278 - Passageiros de Trem |
---|
| a = leia_inteiros(" ")
c, n = a[1], a[2]
var i, p:= 0
enquanto i < n e p >= 0 e p <= c faça
b = leia_inteiros(" ")
p := p - b[1]
se p >= 0 então
p := p + b[2]
se b[3] > 0 e p <> c então
p := -1
fim
fim
i := i + 1
fim
se p == 0 então
escreva "possible"
senão
escreva "impossible"
fim
|
3299 - Números Má Sorte Pequenos
Descrição do Problema: 3299 - Números Má Sorte Pequenos
3299 - Números Má Sorte Pequenos |
---|
| a = leia_texto
b = a.lista.zip(a.cauda).selecione(_.primeiro == '1').selecione(_.segundo == '3').tamanho
se b > 0 entao
escreva "{a} es de Mala Suerte"
senao
escreva "{a} NO es de Mala Suerte"
fim
|