Pular para conteúdo

3200

Faixa de problemas: 3200-3299

Total resolvido: 21 de 100 problemas

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
1
2
3
4
5
6
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
1
2
3
4
5
6
7
8
9
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!
1
2
3
4
5
6
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
1
2
3
4
5
6
7
8
9
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
1
2
3
4
5
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

3263 - Apague Com Segurança

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
1
2
3
4
5
6
7
8
9
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
1
2
3
4
5
6
7
8
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