1400
Faixa de problemas: 1400-1499
Total: 17 problemas
1410 - Ele Está Impedido!
Descrição do Problema: 1410 - Ele Está Impedido!
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
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
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
1428 - Procurando Nessy |
---|
| t = leia_inteiro
para i de 1 ate t faca
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!
1429 - Fatorial de Novo! |
---|
| f = [1, 2, 6, 24, 120]
var s := leia_texto
enquanto s <> "0" faca
r = s.lista.inverta.mapeie(_.inteiro - '0')
var d := 0
para i de 1 ate r.tamanho faca
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
1430 - Composição de Jingles |
---|
| d = para i de 'A' ate '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 <> "*" faca
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
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
1436 - Jogo do Tijolo |
---|
| t = leia_inteiro
para i de 1 ate t faca
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!
1437 - Esquerda, Volver! |
---|
| dir(c: Caractere) = se c == 'D' entao 1 senao -1 fim
direcoes = "LSONLSO"
var n := leia_inteiro
enquanto n > 0 faca
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
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
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
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
1457 - Oráculo de Alexandria |
---|
| kfat(n, k: Inteiro, total: BigInt): BigInt =
se n > 1 entao kfat(n - k, k, total * n) senao total fim
t = leia_inteiro
para i de 1 ate t faca
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
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
1467 - Zerinho ou Um |
---|
| var s := leia_texto
enquanto nao eof faca
se s == "1 0 0" ou s == "0 1 1" entao
escreva "A"
senaose s == "0 1 0" ou s == "1 0 1" entao
escreva "B"
senaose s == "0 0 1" ou s == "1 1 0" entao
escreva "C"
senao
escreva "*"
fim
s := leia_texto
fim
|
1471 - Mergulho
Descrição do Problema: 1471 - Mergulho
1471 - Mergulho |
---|
| # https://www.beecrowd.com.br/judge/pt/homeworks/view/29206
var a := leia_texto
enquanto nao 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 faca
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
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
|