Pular para conteúdo

2900

Faixa de problemas: 2900-2999

Total resolvido: 26 de 100 problemas

2903 - A Symmetrical Pizza

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

Categoria: Matemática · Maratona SBC (2ª fase) 2018

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

Categoria: Strings · Maratona SBC (2ª fase) 2018

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

Categoria: Ad-Hoc

2922 - Salas De Aula
var b := leia_inteiros(" ").ordene
enquanto não eof faça
  x, y = b[1], b[2]
  se x <> y então
    escreva y - x - 1
  senão
    escreva 0
  fim
  b := leia_inteiros(" ").ordene
fim

2923 - Birinho

Descrição do Problema: 2923 - Birinho

Categoria: Ad-Hoc

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

Categoria: Ad-Hoc

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!

Categoria: Ad-Hoc

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

Categoria: Ad-Hoc

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

Categoria: Ad-Hoc

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 então
  escreva "N"
senão
  escreva r.tamanho
fim

2929 - Menor da Pilha

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

Categoria: Estruturas e Bibliotecas

2929 - Menor da Pilha
n = leia_inteiro
var pilha:= [0].cauda
var tamanho := 0
para i de 1 até n faça
  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 então valor senão 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

Categoria: Iniciante

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! então eh nataaaaal!"
  fim
fim

2936 - Quanta Mandioca?

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

Categoria: Iniciante

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 até 5 faça
  total := total + a[i]* p[i]
fim
escreva total

2939 - Casais

Descrição do Problema: 2939 - Casais

Categoria: Matemática

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

Categoria: Iniciante · Olimpíada IFSULDEMINAS 2019

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(oes)"
escreva "{magos} Mago(s)"

2950 - As Duas Torres

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

Categoria: Iniciante · Olimpíada IFSULDEMINAS 2019

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

Categoria: Iniciante · Olimpíada IFSULDEMINAS 2019

2951 - O Retorno do Rei
a = leia_inteiros(" ")
n, g = a[1], a[2]
var valores := Lista('Z', 0)
para i de 1 até 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 faça
  saida := saida + valores[letra]
fim
escreva saida

se saida >= g então
  escreva "You shall pass!"
senão
  escreva "My precioooous"
fim

2953 - Mais um Joguinho

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

Categoria: Matemática · Olimpíada IFSULDEMINAS 2019

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

Categoria: Matemática · Olimpíada IFSULDEMINAS 2019

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

Categoria: Estruturas e Bibliotecas · Olimpíada IFSULDEMINAS 2019

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

Categoria: Iniciante · Maratona SBC (1ª fase) 2019

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

Categoria: Iniciante · Maratona SBC (1ª fase) 2019

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

Categoria: Matemática

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 então
  escreva "A UFSC fecha dia {r - 30} de outubro."
senão
  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?

Categoria: Iniciante

2982 - A Greve para ou Continua?
n = leia_inteiro
var v := 0
para i de 1 até n faça
  a = leia_textos(" ")
  se a[1] == "G" então
    v := v + a[2].inteiro
  senão
    v := v - a[2].inteiro
  fim
fim
se v > 0 então
  escreva "NAO VAI TER CORTE, VAI TER LUTA!"
senão
  escreva "A greve vai parar."
fim

2983 - Nem Tudo é Greve

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

Categoria: Matemática

2983 - Nem Tudo é Greve
primo(x: Inteiro) = x == 2 ou (x > 1 e x mod 2 <> 0 e 
  para i de 3 até 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

Categoria: Estruturas e Bibliotecas

2984 - Assuntos Pendentes
s = leia_texto
var x := 0
para c em s faça
  se c == '(' então x := x + 1
  senãose x > 0 e c == ')' então x := x - 1
  fim
fim
se x == 0 então
  escreva "Partiu RU!"
senão
  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

Categoria: Matemática

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 até n faça
  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

Categoria: Iniciante

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