3200
Faixa de problemas: 3200-3299
Total resolvido: 21 de 100 problemas
Problemas não resolvidos (79)
3200, 3201, 3202, 3203, 3206, 3207, 3210, 3211, 3212, 3213, 3215, 3216, 3218, 3219, 3220, 3221, 3222, 3223, 3226, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3251, 3253, 3254, 3255, 3256, 3259, 3260, 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3272, 3273, 3274, 3275, 3276, 3277, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298
3204 - Honeycomb Walk
Descrição do Problema: 3204 - Honeycomb Walk
Categoria: Grafos
| 3204 - Honeycomb Walk |
|---|
| n = leia_inteiro
para i de 1 até n faça
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
Categoria: Ad-Hoc
| 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
Categoria: Matemática
| 3208 - O Criptógrafo Envergonhado |
|---|
| var entrada := leia_texto
enquanto entrada <> "0 0" faça
k = BigInt(entrada.divida(" ")[1])
l = entrada.divida(" ")[2].inteiro
var i := 2
enquanto k mod i <> 0 e i <= l faça i := i + 1 fim
se i >= l então
escreva "GOOD"
senão
escreva "BAD {i}"
fim
entrada := leia_texto
fim
|
3209 - Tomadas Elétricas
Descrição do Problema: 3209 - Tomadas Elétricas
Categoria: Ad-Hoc
| 3209 - Tomadas Elétricas |
|---|
| n = leia_inteiro
para i de 1 até n faça
num = leia_inteiros(" ")
tomadas = num.cauda.injete(0)(_ + _) - num.cabeca + 1
escreva tomadas
fim
|
3214 - Refrigerante
Descrição do Problema: 3214 - Refrigerante
Categoria: Iniciante
| 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
Categoria: Matemática
| 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 "%.6f"} {min_max.segundo formato "%.6f"}"
|
3224 - Aaah!
Descrição do Problema: 3224 - Aaah!
Categoria: Iniciante
| 3224 - Aaah! |
|---|
| a, b = leia_texto
se a.tamanho >= b.tamanho então
escreva "go"
senão
escreva "no"
fim
|
3225 - Ordenação dos Pães
Descrição do Problema: 3225 - Ordenação dos Pães
Categoria: Ad-Hoc
| 3225 - Ordenação dos Pães |
|---|
| n = leia_inteiro
a, c = leia_inteiros(" ").mutável
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
Categoria: Ad-Hoc
| 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!
Categoria: Iniciante
| 3241 - Ajude um Candidato a PhD! |
|---|
| n = leia_inteiro
para i de 1 até n faça
s = leia_inteiros("+")
se s.tamanho == 1 então
escreva "skipped"
senão
soma = s[1] + s[2]
escreva soma
fim
fim
|
3249 - Death Knight Hero
Descrição do Problema: 3249 - Death Knight Hero
Categoria: Iniciante
| 3249 - Death Knight Hero |
|---|
| n = leia_inteiro
var total := n
para i de 1 até n faça
a = " {leia_texto} "
se a.divida("CD").tamanho > 1 então
total := total - 1
fim
fim
escreva total
|
3250 - Problema no Elevador
Descrição do Problema: 3250 - Problema no Elevador
Categoria: Iniciante
| 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
|
3252 - Reus da Floresta
Descrição do Problema: 3252 - Reus da Floresta
Categoria: Iniciante
| 3252 - Reus da Floresta |
|---|
| BASE_YEAR = 2011
a = leia_inteiros(" ")
k, n = a[1], a[2]
b = leia_inteiros(" ")
karl_ano, karl_forca = b[1], b[2]
var maiores := Lista(n, 0).mutável
var ano := BASE_YEAR
limite = BASE_YEAR + n
var unknown := falso
para i de 1 até n + k - 2 faça
c = leia_inteiros(" ")
y, p = c[1], c[2]
se p > karl_forca então
se y <= ano ou y <= karl_ano então
ano := ano + 1
enquanto ano < limite e maiores[ano - BASE_YEAR + 1] > 0 faça
ano := ano + 1
se ano >= limite então
unknown := verdadeiro
fim
fim
senão
idx = y - BASE_YEAR + 1
se 0 < idx e idx <= n então
maiores[idx] := maiores[idx] + 1
fim
fim
fim
fim
se unknown ou ano >= limite então
escreva "unknown"
senão
escreva (se ano > karl_ano então ano senão karl_ano fim)
fim
|
3257 - Plantando Árvores
Descrição do Problema: 3257 - Plantando Árvores
Categoria: Matemática
| 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 senão a + 1 fim)
escreva festa
|
3258 - Fervendo Vegetais
Descrição do Problema: 3258 - Fervendo Vegetais
Categoria: Iniciante
| 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
|
3261 - Replicação de Vírus
Descrição do Problema: 3261 - Replicação de Vírus
Categoria: Strings
| 3261 - Replicação de Vírus |
|---|
| def maximo(x, y: Inteiro) = se x > y entao x senao y fim
a = leia_texto
b = leia_texto
var la, lb := 1
var ra = a.tamanho
var rb = b.tamanho
enquanto la < a.tamanho e lb < b.tamanho e a[la] == b[lb] faca
la := la + 1
lb := lb + 1
fim
enquanto ra >= la e rb >= lb e a[ra] == b[rb] faca
ra := ra - 1
rb := rb - 1
fim
diferenca = maximo(rb - lb + 1, 0)
escreva diferenca
|
3262 - Timebomb
Descrição do Problema: 3262 - Timebomb
Categoria: Strings
| 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.contém('-') ou beer.inteiro mod 6 <> 0 então
escreva "BOOM!!"
senão
escreva "BEER!!"
fim
|
Descrição do Problema: 3263 - Apague Com Segurança
Categoria: Ad-Hoc
| 3263 - Apague Com Segurança |
|---|
| n = leia_inteiro
a, b = leia_texto
var ok := verdadeiro
para i de 1 até a.tamanho faça
se n mod 2 == 0 então
se a[i] <> b[i] então ok := falso fim
senão
se a[i] == b[i] então ok := falso fim
fim
fim
se ok então
escreva "Deletion succeeded"
senão
escreva "Deletion failed"
fim
|
3271 - Jogo de Dados
Descrição do Problema: 3271 - Jogo de Dados
Categoria: Matemática
| 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
Categoria: Ad-Hoc
| 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
Categoria: Iniciante
| 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 então
escreva "{a} es de Mala Suerte"
senão
escreva "{a} NO es de Mala Suerte"
fim
|