Pular para conteúdo

2900

Faixa de problemas: 2900-2999

Total: 26 problemas

2903 - A Symmetrical Pizza

Descrição do Problema: 2903 - A Symmetrical Pizza

2903 - A Symmetrical Pizza
1
2
3
4
5
mdc(a, b: Inteiro): Inteiro = se b == 0 então a senão mdc(b, a mod b) fim

n = leia_texto.selecione(_ <> '.').inteiro
resp = n * 36000 div mdc(n, 36000) div n
escreva resp

2906 - Database of Clients

Descrição do Problema: 2906 - Database of Clients

2906 - Database of Clients
1
2
3
4
5
6
7
8
n = leia_inteiro
limpar(s: Texto) = s.selecione(_ <> '.').pegue_enquanto(_ <> '+')
emails = leia_textos(n)
           .mapeie(_.divida("@"))
           .mapeie(a => "{limpar(a[1])}@{a[2]}")
           .ordene
diferentes = emails.zip(emails.cauda).selecione(a => a.primeiro <> a.segundo).tamanho + 1
escreva diferentes

2922 - Salas De Aula

Descrição do Problema: 2922 - Salas De Aula

2922 - Salas De Aula
var b := leia_inteiros(" ").ordene
enquanto nao eof faca
  x, y = b[1], b[2]
  se x <> y entao
    escreva y - x - 1
  senao
    escreva 0
  fim
  b := leia_inteiros(" ").ordene
fim

2923 - Birinho

Descrição do Problema: 2923 - Birinho

2923 - Birinho
var s := leia_texto
enquanto não eof faça
  r = s.divida(" ").mapeie(_.real)
  t, a, w, c = r[1], r[2], r[3], r[4]
  percentual = a / t * 100
  resposta = se      percentual >= c então "critical"
             senãose percentual >= w então "warning"
                                     senão "OK"
             fim
  escreva resposta
  s := leia_texto
fim

2924 - BigInt

Descrição do Problema: 2924 - BigInt

2924 - BigInt
tipo Big = Lista[Inteiro]

somar(a, b: Big, p: Inteiro, saida: Big): Big =
  se a == [] e b == [] então
    se p == 0 então saida senão 1 :: saida fim
  senão
    se b == [] então
      somar(a, [p], 0, saida)
    senãose a == [] então
      somar(b, [p], 0, saida)
    senão
      s = a.cabeça + b.cabeça + p
      somar(a.cauda, b.cauda, s div 10, (s mod 10) :: saida)
    fim
fim

#somar(a, b: Big, p: Inteiro, saida: Big): Big = escolha (a, b, p)
#  caso ([], [], 0) => saida
#  caso ([], [], 1) => 1 :: saida
#  caso (a , [], p) => somar(a, [p], 0, saida)
#  caso ([], b, p)  => somar(b, [p], 0, saida)
#  caso (a::as, b::bs, p) =>
#    s = a + b + p
#    somar(as, bs, s div 10, (s mod 10) :: saida)
#fim

a, b = leia_texto.inverta.lista.mapeie(_ - '0')
escreva somar(a,b, 0, []).junte("")

2926 - Então é Natal!

Descrição do Problema: 2926 - Então é Natal!

2926 - Então é Natal!
i = leia_inteiro
escreva "Ent{"a" * i}o eh N{"a" * i}t{"a" * i}l!"

2927 - Imprevistos Natalinos

Descrição do Problema: 2927 - Imprevistos Natalinos

2927 - Imprevistos Natalinos
d = leia_inteiros(" ")
a, c, x, y = d[1], d[2], d[3], d[4]

r = c - x - y - a
se r > 0 então
  escreva "Igor feliz!"
senãose x * 2 > y então
  escreva "Caio, a culpa eh sua!"
senão
  escreva "Igor bolado!"
fim

2928 - Cruzando Lagos

Descrição do Problema: 2928 - Cruzando Lagos

2928 - Cruzando Lagos
1
2
3
4
5
6
7
8
n = leia_inteiro
s = leia_textos(n).mapeie(_.cabeca).junte("")
r = s.divida_quando(_ <> _).selecione(_.cabeca == '.').mapeie(_.tamanho).ordene.inverta
se r.tamanho > 0 e r.cabeca > 2 entao
  escreva "N"
senao
  escreva r.tamanho
fim

2929 - Menor da Pilha

Descrição do Problema: 2929 - Menor da Pilha

2929 - Menor da Pilha
n = leia_inteiro
var pilha:= [0].cauda
var tamanho := 0
para i de 1 ate n faca
  entrada = leia_texto
  valor = entrada.descarte(5).inteiro
  escolha entrada[2]
    caso 'U' se tamanho == 0 =>
      pilha := valor :: pilha
      tamanho := 1
    caso 'U' =>
      menor = se valor < pilha.cabeca entao valor senao pilha.cabeca fim
      pilha := menor :: pilha
     tamanho := tamanho + 1
    caso 'I' se tamanho > 0 =>
      escreva pilha.cabeca
    caso 'O' se tamanho > 0 =>
      pilha := pilha.cauda
      tamanho := tamanho - 1
    caso _ =>
      escreva "EMPTY"
  fim
fim

2930 - TCC da Depressão Natalino

Descrição do Problema: 2930 - TCC da Depressão Natalino

2930 - TCC da Depressão Natalino
a = leia_inteiros(" ")
E, D = a[1], a[2]

se D >= 24 ou E > D então
  escreva ("Eu odeio a professora!")
senãose E <= D - 3 então
  escreva ("Muito bem! Apresenta antes do Natal!")
senão
  escreva ("Parece o trabalho do meu filho!")
  se E + 2 < 24 então
    escreva ("TCC Apresentado!")
  senão
    escreva ("Fail! Entao eh nataaaaal!")
  fim
fim

2936 - Quanta Mandioca?

Descrição do Problema: 2936 - Quanta Mandioca?

2936 - Quanta Mandioca?
1
2
3
4
5
6
7
a = leia_inteiros(5)
p = [300, 1500, 600, 1000, 150]
var total := 225
para i de 1 ate 5 faca
  total := total + a[i]* p[i]
fim
escreva total

2939 - Casais

Descrição do Problema: 2939 - Casais

2939 - Casais
1
2
3
4
5
6
n = leia_inteiro
var a, b := BigInt(16), BigInt(2)
para i de 2 até n faça
  a, b := 2 * (i + 1) * (a + b * 2 * i) mod 1000000007, a
fim
escreva b

2949 - A Sociedade do Anel

Descrição do Problema: 2949 - A Sociedade do Anel

2949 - A Sociedade do Anel
n = leia_inteiro
var anoes, elfos, humanos, magos, hobbits := 0
para i de 1 até n faça
  a = leia_textos(" ")[2]
  escolha a
    caso "A" => anoes := anoes + 1
    caso "E" => elfos := elfos + 1
    caso "H" => humanos := humanos + 1
    caso "M" => magos := magos + 1
    caso "X" => hobbits := hobbits + 1
    caso _   =>
  fim
fim
escreva "{hobbits} Hobbit(s)"
escreva "{humanos} Humano(s)"
escreva "{elfos} Elfo(s)"
escreva "{anoes} Anao(s)"
escreva "{magos} Mago(s)"

2950 - As Duas Torres

Descrição do Problema: 2950 - As Duas Torres

2950 - As Duas Torres
1
2
3
4
a = leia_inteiros(" ")
n, x, y = a[1], a[2], a[3]
icm = n / (x + y)
escreva icm formato "%.2f"

2951 - O Retorno do Rei

Descrição do Problema: 2951 - O Retorno do Rei

2951 - O Retorno do Rei
a = leia_inteiros(" ")
n, g = a[1], a[2]
var valores := Lista('Z', 0)
para i de 1 ate n gere
  b = leia_textos(" ")
  r, v = b[1].cabeca, b[2].inteiro
  valores[r] := v
fim

x = leia_inteiro
letras = leia_textos(" ").mapeie(_.cabeca)

var saida := 0
para letra em letras faca
  saida := saida + valores[letra]
fim
escreva saida

se saida >= g entao
  escreva "You shall pass!"
senao
  escreva "My precioooous"
fim

2953 - Mais um Joguinho

Descrição do Problema: 2953 - Mais um Joguinho

2953 - Mais um Joguinho
MOD = 1000000007

contar_possibilidades(n, d1, d2, d3: Inteiro): Inteiro =
  se  n < 1 então
    d1
  senão
    contar_possibilidades(n - 1, (d2 + d3) mod MOD, d1, d2)
  fim

n = leia_inteiro
escreva contar_possibilidades(n, 0, 0, 1)

2956 - Derivada de 13 Variáveis

Descrição do Problema: 2956 - Derivada de 13 Variáveis

2956 - Derivada de 13 Variáveis
1
2
3
4
a = leia_reais(" ")
p, t = a[1], a[2]
area = p * t / 2
escreva "Concluimos que, dado o limite da entrada, a resposta seria:  y = f(x) = {area formato "%.5f"}."

2958 - O Rolê Bad Vibes

Descrição do Problema: 2958 - O Rolê Bad Vibes

2958 - O Rolê Bad Vibes
1
2
3
4
5
6
n = leia_inteiros(" ")[1]
problemas = para i de 1 até n, a em leia_textos(" ") gere
    (a, -(a[2].inteiro + a[1].inteiro))
fim
ordem = problemas.ordene(_.segundo).mapeie(_.primeiro)
escreva ordem.junte("\n")

2963 - Bobo da Corte

Descrição do Problema: 2963 - Bobo da Corte

2963 - Bobo da Corte
1
2
3
4
5
6
7
n = leia_inteiro
bobo = leia_inteiro
var resp := "S"
para i de 2 até n se leia_inteiro > bobo faça
  resp := "N"
fim
escreva resp

2968 - Hora da Corrida

Descrição do Problema: 2968 - Hora da Corrida

2968 - Hora da Corrida
1
2
3
4
5
a = leia_inteiros(" ")
n, v = a[1], a[2]
t = n * v / 10
saida = para i de 1 até 9 gere (t * i).teto.inteiro fim
escreva saida.junte(" ")

2981 - Vamos Fechar

Descrição do Problema: 2981 - Vamos Fechar

2981 - Vamos Fechar
1
2
3
4
5
6
7
8
a = leia_inteiros(" ")
c, g = a[1], a[2]
r = 21 + c div g
se r > 30 entao
  escreva "A UFSC fecha dia {r - 30} de outubro."
senao
  escreva "A UFSC fecha dia {r} de setembro."
fim

2982 - A Greve para ou Continua?

Descrição do Problema: 2982 - A Greve para ou Continua?

2982 - A Greve para ou Continua?
n = leia_inteiro
var v := 0
para i de 1 ate n faca
  a = leia_textos(" ")
  se a[1] == "G" entao
    v := v + a[2].inteiro
  senao
    v := v - a[2].inteiro
  fim
fim
se v > 0 entao
  escreva "NAO VAI TER CORTE, VAI TER LUTA!"
senao
  escreva "A greve vai parar."
fim

2983 - Nem Tudo é Greve

Descrição do Problema: 2983 - Nem Tudo é Greve

2983 - Nem Tudo é Greve
primo(x: Inteiro) = x == 2 ou (x > 1 e x mod 2 <> 0 e 
  para i de 3 ate raiz(x + 1).inteiro passo 2 se x mod i == 0 gere i fim.tamanho == 0)

n = leia_inteiro
x = leia_inteiros(n)
numeros = x.ordene.divida_quando(_ <> _).mapeie(a => a[1])
primos = para num em numeros se primo(num) gere num fim 
escreva primos.tamanho
se primos == [] então
    escreva ""
senão
    escreva "{primos.junte(", ")}."
fim

2984 - Assuntos Pendentes

Descrição do Problema: 2984 - Assuntos Pendentes

2984 - Assuntos Pendentes
s = leia_texto
var x := 0
para c em s faca
  se c == '(' entao x := x + 1
  senaose x > 0 e c == ')' entao x := x - 1
  fim
fim
se x == 0 entao
  escreva "Partiu RU!"
senao
  escreva "Ainda temos {x} assunto(s) pendente(s)!"
fim

2986 - Nem Tudo é Greve Versão Hard

Descrição do Problema: 2986 - Nem Tudo é Greve Versão Hard

2986 - Nem Tudo é Greve Versão Hard
1
2
3
4
5
6
n = leia_inteiro
var a, b, c := 0, 0, 1
para i de 1 ate n faca
  a, b, c := b, c, ((a + b) mod 1000000007 + c) mod 1000000007
fim
escreva c

2987 - Balão de Honra

Descrição do Problema: 2987 - Balão de Honra

2987 - Balão de Honra
escreva leia_texto[1] - 64