1400
Faixa de problemas: 1400-1499
Total resolvido: 17 de 100 problemas
Problemas não resolvidos (83)
1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1411, 1412, 1413, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1427, 1431, 1432, 1433, 1434, 1438, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1468, 1469, 1470, 1472, 1473, 1474, 1475, 1476, 1477, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499
1410 - Ele Está Impedido!
Descrição do Problema: 1410 - Ele Está Impedido!
Categoria: Ad-Hoc · Maratona SBC (2ª fase) 2007
| 1410 - Ele Está Impedido! |
|---|
| var ad := leia_inteiro
enquanto ad > 0 faça
atacantes, defensores = leia_inteiros(" ").ordene
se atacantes[1] < defensores[2] então
escreva "Y"
senão
escreva "N"
fim
ad := leia_inteiro
fim
|
1414 - Copa do Mundo
Descrição do Problema: 1414 - Copa do Mundo
Categoria: Ad-Hoc · Maratona SBC (1ª fase) 2006
| 1414 - Copa do Mundo |
|---|
| var flag := verdadeiro
enquanto flag faça
temp1 = leia_inteiros(" ")
t, n = temp1[1], temp1[2]
se t == 0 e n == 0 então
flag := falso
senão
var total := 0
para i de 1 até t faça
temp2 = leia_textos(" ")
total := total + temp2[2].inteiro
fim
escreva n * 3 - total
fim
fim
|
1426 - Coloque Tijolos na Parede
Descrição do Problema: 1426 - Coloque Tijolos na Parede
Categoria: Ad-Hoc
| 1426 - Coloque Tijolos na Parede |
|---|
| tijolos(x: Lista[Lista[Inteiro]])
para i de 1 até 9 gere
para j de 1 até i gere
a = i div 2
b = (j + 1) div 2
escolha (i mod 2, j mod 2)
caso (0, 1) => (x[a][b] + x[a+1][b] - x[a+1][b+1]) div 2
caso (0, 0) => (x[a][b] - x[a+1][b] + x[a+1][b+1]) div 2
caso (1, 0) => (x[a][b] - x[a+1][b] - x[a+1][b+1]) div 2
caso _ => x[a+1][b]
fim
fim
fim
fim
t = leia_inteiro
para i de 1 até t faça
x = Lista(5, leia_inteiros(" "))
escreva tijolos(x).mapeie(_.junte(" ")).junte("\n")
fim
|
1428 - Procurando Nessy
Descrição do Problema: 1428 - Procurando Nessy
Categoria: Ad-Hoc
| 1428 - Procurando Nessy |
|---|
| t = leia_inteiro
para i de 1 até t faça
a = leia_inteiros(" ")
n, m = a[1], a[2]
escreva (n div 3) * (m div 3)
fim
|
1429 - Fatorial de Novo!
Descrição do Problema: 1429 - Fatorial de Novo!
Categoria: Matemática · Maratona SBC (2ª fase) 2010
| 1429 - Fatorial de Novo! |
|---|
| f = [1, 2, 6, 24, 120]
var s := leia_texto
enquanto s <> "0" faça
r = s.lista.inverta.mapeie(_.inteiro - '0')
var d := 0
para i de 1 até r.tamanho faça
d := d + r[i] * f[i]
fim
escreva d
s := leia_texto
fim
|
1430 - Composição de Jingles
Descrição do Problema: 1430 - Composição de Jingles
Categoria: Estruturas e Bibliotecas · Maratona SBC (2ª fase) 2009
| 1430 - Composição de Jingles |
|---|
| d = para i de 'A' até 'Z' gere 2 ^ (1 - "WHQESTX".posicao(i)) fim
valor(id: Caractere) = d[id - 'A' + 1]
soma(valor: Caractere => Real) =
(n: String) => n.lista.mapeie(valor).injete(0.0)(_ + _)
duracao = soma(valor)
var entrada := leia_texto
enquanto entrada <> "*" faça
compassos = entrada.divida("/")
duracoes = compassos.mapeie(duracao)
escreva duracoes.selecione(_ == 1.0).tamanho
entrada := leia_texto
fim
|
1435 - Matriz Quadrada I
Descrição do Problema: 1435 - Matriz Quadrada I
Categoria: Iniciante
| 1435 - Matriz Quadrada I |
|---|
| min(a, b:Inteiro) = se a > b então b senão a fim
var n := leia_inteiro
enquanto n <> 0 faça
para linha de 1 até n faça
a = min(linha, n - linha + 1)
escreva
para coluna de 1 até n gere
b = min(coluna, n - coluna + 1)
min(a, b) formato "%3d"
fim
.junte(" ")
fim
escreva ""
n := leia_inteiro
fim
|
1436 - Jogo do Tijolo
Descrição do Problema: 1436 - Jogo do Tijolo
Categoria: Matemática
| 1436 - Jogo do Tijolo |
|---|
| t = leia_inteiro
para i de 1 até t faça
entrada = leia_inteiros(" ")
n = entrada.cabeca
nums = entrada.cauda
meio = nums.ordene[(n + 2) div 2]
escreva "Case {i}: {meio}"
fim
|
1437 - Esquerda, Volver!
Descrição do Problema: 1437 - Esquerda, Volver!
Categoria: Ad-Hoc · Maratona SBC (1ª fase) 2006
| 1437 - Esquerda, Volver! |
|---|
| dir(c: Caractere) = se c == 'D' então 1 senão -1 fim
direcoes = "LSONLSO"
var n := leia_inteiro
enquanto n > 0 faça
comandos = leia_texto
frente = comandos.lista.mapeie(dir).injete(0)(_ + _)
direcao = direcoes[frente mod 4 + 4]
escreva direcao
n := leia_inteiro
fim
|
1441 - Sequências de Granizo
Descrição do Problema: 1441 - Sequências de Granizo
Categoria: Ad-Hoc · Maratona SBC (2ª fase) 2011
| 1441 - Sequências de Granizo |
|---|
| var maior := leia_inteiro
enquanto maior > 0 faça
var h := maior
enquanto h > 1 faça
se h > maior então
maior := h
fim
h := se h mod 2 == 0 então h div 2 senão 3 * h + 1 fim
fim
escreva maior
maior := leia_inteiro
fim
|
1444 - Corrida dos Marrecos
Descrição do Problema: 1444 - Corrida dos Marrecos
Categoria: Matemática
| 1444 - Corrida dos Marrecos |
|---|
| var n := leia_inteiro
enquanto n > 0 faça
var a := 0
enquanto n > 1 faça
se n mod 3 == 0 então
n := n div 3
senão
n := n div 3 + 1
fim
a := a + n
fim
escreva a
n := leia_inteiro
fim
|
1448 - Telefone Sem Fio
Descrição do Problema: 1448 - Telefone Sem Fio
Categoria: Strings
| 1448 - Telefone Sem Fio |
|---|
| t = leia_inteiro
para i de 1 até t faça
frase, time1, time2 = leia_texto
var c1, c2, desempate := 0
para j de 1 até frase.tamanho faça
se frase[j] == time1[j] então
c1 := c1 + 1
se desempate == 0 e frase[j] <> time2[j] então
desempate := 1
fim
fim
se frase[j] == time2[j] então
c2 := c2 + 1
se desempate == 0 e frase[j] <> time1[j] então
desempate := 2
fim
fim
fim
escreva "Instancia {i}"
se c1 == c2 e desempate == 0 então
escreva "empate"
senãose c1 > c2 então
escreva "time 1"
senãose c1 < c2 então
escreva "time 2"
senão
escreva "time {desempate}"
fim
escreva ""
fim
|
1457 - Oráculo de Alexandria
Descrição do Problema: 1457 - Oráculo de Alexandria
Categoria: Matemática
| 1457 - Oráculo de Alexandria |
|---|
| kfat(n, k: Inteiro, total: BigInt): BigInt =
se n > 1 então kfat(n - k, k, total * n) senão total fim
t = leia_inteiro
para i de 1 até t faça
s = leia_texto
n = s.inteiro
k = s.descarte_enquanto(_ <> '!').tamanho
escreva kfat(n, k, 1)
fim
|
1466 - Percurso em Árvore por Nível
Descrição do Problema: 1466 - Percurso em Árvore por Nível
Categoria: Grafos
| 1466 - Percurso em Árvore por Nível |
|---|
| tipo Valor = Inteiro
tipo abstrato No
valor(): Valor
esquerda(): No
direita(): No
inserir(v: Valor): No
altura(): Inteiro
pesquisar(v: Valor): Lógico
infixa(): Lista[Valor]
prefixa(): Lista[Valor]
posfixa(): Lista[Valor]
fim
max(a, b: Inteiro) = se a >= b então a senão b fim
tipo Arvore: No
valor: Valor
esquerda, direita: No
altura = max(esquerda.altura, direita.altura) + 1
inserir(v: Valor): No =
se v < valor então
Arvore(valor, esquerda.inserir(v), direita)
senão
Arvore(valor, esquerda, direita.inserir(v))
fim
pesquisar(v: Valor) =
v == valor ou
(se v < valor então esquerda.pesquisar(v) senão direita.pesquisar(v) fim)
infixa() = esquerda.infixa + valor :: direita.infixa
prefixa() = valor :: esquerda.prefixa + direita.prefixa
posfixa() = esquerda.posfixa + direita.posfixa + [valor]
fim
tipo Folha: No
valor: Valor = valor
esquerda, direita = isto
altura = -1
inserir(v: Valor): No = Arvore(v, Folha(), Folha())
pesquisar(v: Valor) = falso
infixa, prefixa, posfixa: Lista[Valor] = []
fim
tipo TipoFila = No
tipo Fila
entrada, saida: Lista[TipoFila]
inserir(valor: TipoFila): Fila =
se saida == [] então
Fila([], (valor :: entrada).inverta)
senão
Fila(valor :: entrada, saida)
fim
cabeça(): TipoFila = saida.cabeça
vazia() = entrada == [] e saida == []
remover(): Fila =
se saida == [] então
Fila([], entrada.inverta.cauda)
senãose saida.cauda == [] então
Fila([], entrada.inverta)
senão
Fila(entrada, saida.cauda)
fim
fim
fila_vazia = Fila([], [])
folha: No = Folha()
c = leia_inteiro
para i de 1 até c faça
leia_texto
num = leia_inteiros(" ")
arvore = num.injete(folha)((a, b) => a.inserir(b))
var fila := fila_vazia.inserir(arvore)
var list: Lista[Inteiro] = []
enquanto não fila.vazia faça
a = fila.cabeça
list := a.valor :: list
fila := fila.remover()
se a.esquerda <> folha então fila := fila.inserir(a.esquerda) fim
se a.direita <> folha então fila := fila.inserir(a.direita) fim
fim
escreva "Case {i}:"
escreva list.inverta.junte(" ")
escreva ""
fim
|
1467 - Zerinho ou Um
Descrição do Problema: 1467 - Zerinho ou Um
Categoria: Ad-Hoc · Maratona SBC (1ª fase) 2013
| 1467 - Zerinho ou Um |
|---|
| var s := leia_texto
enquanto não eof faça
se s == "1 0 0" ou s == "0 1 1" então
escreva "A"
senãose s == "0 1 0" ou s == "1 0 1" então
escreva "B"
senãose s == "0 0 1" ou s == "1 1 0" então
escreva "C"
senão
escreva "*"
fim
s := leia_texto
fim
|
1471 - Mergulho
Descrição do Problema: 1471 - Mergulho
Categoria: Ad-Hoc · Maratona SBC (1ª fase) 2013
| 1471 - Mergulho |
|---|
| # https://www.beecrowd.com.br/judge/pt/homeworks/view/29206
var a := leia_texto
enquanto não eof faça
n, r = a.divida(" ")[1].inteiro, a.divida(" ")[2].inteiro
se n == r então
leia_texto
escreva "*"
senão
numeros = ((n + 1) :: leia_inteiros(" ")).ordene
var i := 0
para num em numeros faça
i := i + 1
enquanto i < num faça
imprima "{i} "
i := i + 1
fim
fim
escreva ""
fim
a := leia_texto
fim
|
1478 - Matriz Quadrada II
Descrição do Problema: 1478 - Matriz Quadrada II
Categoria: Iniciante
| 1478 - Matriz Quadrada II |
|---|
| var n := leia_inteiro
enquanto n <> 0 faça
para linha de 1 até n faça
escreva (para c de linha até 1 passo -1 gere
c formato "%3d"
fim + para c de 2 até n - linha + 1 gere
c formato "%3d"
fim).junte(" ")
fim
escreva ""
n := leia_inteiro
fim
|