1900
Faixa de problemas: 1900-1999
Total: 28 problemas
1901 - Borboletas
Descrição do Problema: 1901 - Borboletas
1901 - Borboletas |
---|
| n = leia_inteiro
k = para i de 1 até n gere leia_inteiros(" ") fim
var v := [0].cauda
para i de 1 até 2*n faça
a = leia_inteiros(" ")
v := k[a[1]][a[2]] :: v
fim
especies = v.ordene.divida_quando(_ <> _).tamanho
escreva especies
|
1905 - Polícia e Ladrão
Descrição do Problema: 1905 - Polícia e Ladrão
1905 - Polícia e Ladrão |
---|
| policia(labirinto, caminho: Lista[Inteiro]): Lógico =
se caminho.cabeça == 25 então
verdadeiro
senão
proximos = vizinhos(caminho.cabeca).selecione(a => labirinto[a] == '0') - caminho
proximos.injete(falso)((a, b) => a ou policia(labirinto, b :: caminho))
fim
vizinhos(n: Inteiro) =
[n + 5, se n mod 5 <> 0 entao n + 1 senao 0 fim,
se n mod 5 <> 1 então n - 1 senão 0 fim, n - 5].selecione(a => a >= 1 e a <= 25)
leia_labirinto()
var lista: Lista[Inteiro] = []
enquanto lista.tamanho < 25 faça
a = leia_texto.lista.selecione(c => c == '1' ou c == '0')
lista := lista + a
fim
lista
fim
t = leia_inteiro
para i de 1 até t faça
labirinto = leia_labirinto
se policia(labirinto, [-4]) então
escreva "COPS"
senão
escreva "ROBBERS"
fim
fim
|
1914 - De Quem é a Vez?
Descrição do Problema: 1914 - De Quem é a Vez?
1914 - De Quem é a Vez? |
---|
| qt = leia_inteiro
para i de 1 até qt faça
nomes = leia_textos(" ")
a = leia_inteiros(" ")
par = (a[1] + a[2]) mod 2 == 0
se (par e nomes[2] == "PAR") ou
(não par e nomes[2] <> "PAR") então
escreva nomes[1]
senão
escreva nomes[3]
fim
fim
|
1919 - Ajude Nhonho
Descrição do Problema: 1919 - Ajude Nhonho
1919 - Ajude Nhonho |
---|
| comb = para a1 de 0 até 5, a2 de a1+1 até 6,
a3 de a2+1 até 7, a4 de a3+1 até 8,
a5 de a4+1 até 9 gere [a1,a2,a3,a4,a5]
fim
z = 24 * 11111
t = leia_inteiro
para i de 1 até t faça
k = leia_inteiro
se k < 10 * z então
escreva "impossivel"
senão
resultado = comb.selecione(c => c.injete(0)(_ + _) * z == k)
se resultado == [] então
escreva "impossivel"
senão
para c em resultado faça
escreva c.junte("{'{'}", "," ,"{'}'}")
fim
fim
fim
escreva ""
fim
|
1921 - Guilherme e Suas Pipas
Descrição do Problema: 1921 - Guilherme e Suas Pipas
1921 - Guilherme e Suas Pipas |
---|
| n = leia_inteiro
barbantes = n / 2 * (n - 3)
escreva barbantes formato "%.0f"
|
1924 - Vitória e a Indecisão
Descrição do Problema: 1924 - Vitória e a Indecisão
1924 - Vitória e a Indecisão |
---|
| n = leia_inteiro
leia_textos(n)
escreva "Ciencia da Computacao"
|
1929 - Triângulo
Descrição do Problema: 1929 - Triângulo
1929 - Triângulo |
---|
| n = leia_inteiros(" ").ordene
se n[1]+n[2] > n[3] ou n[2] + n[3] > n[4] então
escreva "S"
senão
escreva "N"
fim
|
1930 - Tomadas
Descrição do Problema: 1930 - Tomadas
1930 - Tomadas |
---|
| escreva leia_inteiros(" ").injete(-3)(_ + _)
|
1933 - Tri-du
Descrição do Problema: 1933 - Tri-du
1933 - Tri-du |
---|
| s = leia_inteiros(" ")
a, b = s[1], s[2]
se a > b então
escreva a
senão
escreva b
fim
|
1936 - Fatorial
Descrição do Problema: 1936 - Fatorial
1936 - Fatorial |
---|
| f = [362880, 40320, 5040, 720, 120, 24, 6, 2, 1]
var n := leia_inteiro
var c := 0
para a em f faça
c := c + n div a
n := n mod a
fim
escreva c
|
1943 - Top N
Descrição do Problema: 1943 - Top N
1943 - Top N |
---|
| k = leia_inteiro
top = se k == 1 então 1
senãose k <= 3 então 3
senãose k <= 5 então 5
senãose k <= 10 então 10
senãose k <= 25 então 25
senãose k <= 50 então 50
senão 100
fim
escreva "Top {top}"
|
1944 - BRINDE FACE 2015
Descrição do Problema: 1944 - BRINDE FACE 2015
1944 - BRINDE FACE 2015 |
---|
| inicial = ["E C A F"]
var painel := inicial
n = leia_inteiro
var brindes := 0
para i de 1 até n faça
a = leia_texto
se a == painel.cabeça então
painel := painel.cauda
brindes := brindes + 1
se painel == [] então
painel := inicial
fim
senão
painel := a.inverta :: painel
fim
fim
escreva brindes
|
1953 - Roberto e a Sala Desenfreada
Descrição do Problema: 1953 - Roberto e a Sala Desenfreada
1953 - Roberto e a Sala Desenfreada |
---|
| var n := leia_inteiro
enquanto n > 0 faça
var epr, ehd := 0
para i de 1 até n faça
a = leia_textos(" ")[2]
escolha a
caso "EPR" => epr := epr + 1
caso "EHD" => ehd := ehd + 1
caso _ =>
fim
fim
escreva "EPR: {epr}"
escreva "EHD: {ehd}"
escreva "INTRUSOS: {n - epr - ehd}"
n := leia_inteiro
fim
|
1957 - Converter para Hexadecimal
Descrição do Problema: 1957 - Converter para Hexadecimal
1957 - Converter para Hexadecimal |
---|
| var v := leia_inteiro
var s := ""
ns = "0123456789ABCDEF"
enquanto v > 0 faça
h = v mod 16
s := ns[h+1] + s
v := v div 16
fim
escreva s
|
1958 - Notação Científica
Descrição do Problema: 1958 - Notação Científica
1958 - Notação Científica |
---|
| x = leia_real
escreva x formato "%+.4E"
|
1959 - Polígonos Regulares Simples
Descrição do Problema: 1959 - Polígonos Regulares Simples
1959 - Polígonos Regulares Simples |
---|
| entrada = leia_reais(" ")
n = entrada[1]
l = entrada[2]
escreva (n * l) formato "%.0f"
|
1960 - Numeração Romana para Números de Página
Descrição do Problema: 1960 - Numeração Romana para Números de Página
1960 - Numeração Romana para Números de Página |
---|
| n = leia_texto
a = ("00" + n).lista.inverta.pegue(3).mapeie(_ - '0')
r = "IVXLCDM"
var s := ""
para i de 3 ate 1 passo -1 faca
d = r.descarte(i * 2 - 2).pegue(3)
s := s + (escolha a[i]
caso 9 => "{d[1]}{d[3]}"
caso x se x > 4 => "{d[2]}" + "{d[1]}" * (x - 5)
caso 4 => "{d[1]}{d[2]}"
caso x se x > 0 => "{d[1]}" * x
caso _ => ""
fim)
fim
escreva s
|
1961 - Pula Sapo
Descrição do Problema: 1961 - Pula Sapo
1961 - Pula Sapo |
---|
| entrada = leia_inteiros(" ")
linha = leia_inteiros(" ")
p = entrada[1]
n = entrada[2]
var gameover := falso
para i de 2 até n faça
se linha[i-1] - linha[i] > p ou linha[i] - linha[i-1] > p então
gameover := verdadeiro
fim
fim
se gameover então
escreva "GAME OVER"
senão
escreva "YOU WIN"
fim
|
1962 - Há Muito, Muito Tempo Atrás
Descrição do Problema: 1962 - Há Muito, Muito Tempo Atrás
1962 - Há Muito, Muito Tempo Atrás |
---|
| n = leia_inteiro
para i de 1 até n faça
a = leia_inteiro
se a < 2015 então
escreva "{2015 - a} D.C."
senão
escreva "{a - 2014} A.C."
fim
fim
|
1963 - O Filme
Descrição do Problema: 1963 - O Filme
1963 - O Filme |
---|
| entrada = leia_reais(" ")
a = entrada[1]
b = entrada[2]
c = (b / a - 1) * 100
escreva "{c formato "%.2f"}%"
|
1973 - Jornada nas Estrelas
Descrição do Problema: 1973 - Jornada nas Estrelas
1973 - Jornada nas Estrelas |
---|
| n = leia_inteiro
var x = leia_inteiros(" ").mutavel
var total := x.injete(BigInt(0))(_ + _)
var atacadas = Lista.mutavel(n, falso)
var i := 1
enquanto i > 0 e i <= n faca
lado = x[i] mod 2 <> 0
se x[i] > 0 entao
x[i] := x[i] - 1
atacadas[i] := verdadeiro
total := total - 1
fim
se lado entao
i := i + 1
senao
i := i - 1
fim
fim
escreva "{atacadas.selecione(_ == verdadeiro).tamanho} {total}"
|
1980 - Embaralhando
Descrição do Problema: 1980 - Embaralhando
1980 - Embaralhando |
---|
| fat(n: Inteiro): BigInt = se n > 1 então fat(n-1) * n senão 1 fim
var s := leia_texto
enquanto s <> "0" faça
letras_repetidas = s.ordene.divida_quando(_ <> _).mapeie(_.tamanho).selecione(_ > 1).ordene
anagramas = letras_repetidas.injete(fat(s.tamanho))((a, b) => a div fat(b))
escreva(anagramas)
s := leia_texto
fim
|
1983 - O Escolhido
Descrição do Problema: 1983 - O Escolhido
1983 - O Escolhido |
---|
| n = leia_inteiro
var maior_nome, maior_nota := "Minimum note not reached", 8.0
para i de 1 até n faça
a = leia_textos(" ")
nome, nota = a[1], a[2].real
se nota >= maior_nota então
maior_nome := nome
maior_nota := nota
fim
fim
escreva maior_nome
|
1984 - O Enigma do Pronalândia
Descrição do Problema: 1984 - O Enigma do Pronalândia
1984 - O Enigma do Pronalândia |
---|
| a = leia_texto
escreva a.inverta
|
1985 - MacPRONALTS
Descrição do Problema: 1985 - MacPRONALTS
1985 - MacPRONALTS |
---|
| n = leia_inteiro
var soma := 0.0
para i de 1 até n faça
in = leia_inteiros(" ")
p, q = in[1], in[2]
soma := soma + (p - 999.5) * q
fim
escreva soma formato "%.2f"
|
1986 - Perdido em Marte
Descrição do Problema: 1986 - Perdido em Marte
1986 - Perdido em Marte |
---|
| hex2dec = (c: Caractere) => se c < 65 entao c - 48 senao c - 55 fim
hex2tex = (s: Texto) => (hex2dec(s[1]) * 16 + hex2dec(s[2])).caractere
n = leia_inteiro
nums = leia_textos(" ")
mensagem = nums.mapeie(hex2tex).junte("")
escreva mensagem
|
1987 - Divisibilidade Por 3
Descrição do Problema: 1987 - Divisibilidade Por 3
1987 - Divisibilidade Por 3 |
---|
| # eof = falso
var entrada := leia_texto
enquanto nao eof faça
numeros = entrada.divida()[2]
soma = numeros.injete(0)((x, y) => x + y) - 48 * numeros.tamanho
se soma mod 3 == 0 então
escreva "{soma} sim"
senão
escreva "{soma} nao"
fim
entrada := leia_texto
fim
|
1989 - Fazendo Nada
Descrição do Problema: 1989 - Fazendo Nada
1989 - Fazendo Nada |
---|
| var entrada := leia_inteiros(" ")
enquanto entrada <> [-1, -1] faça
n, m = entrada[1], entrada[2]
episodios = leia_inteiros(" ").zip(para i de n ate 1 passo -1 gere i fim)
duração = episodios.injete(0.0)((total, p) => total + p.primeiro * p.segundo)
escreva m * duração formato "%.0f"
entrada := leia_inteiros(" ")
fim
|