Universidade Federal do Espírito Santo
Departamento de Informática
Programa de EducaçãoTutorial – PET EngComp
E-mail: [email protected]
Home-Page: www.inf.ufes.br/~pet
Tel. (27) 3335-2161
Realização:
Apoio:
4º Torneio de Programação – TOPCOM 4
PET – Engenharia de Computação - UFES
PROBLEMA A
Números Feios
“Números feios” são números cujos únicos fatores primos são 2, 3 ou 5. A seqüência
1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, ...
mostra os primeiros 11 números feios. Por convenção, 1 é incluído.
Escreva um programa que imprima o 1500º número feio.
A ENTRADA E A SAÍDA
Não existe entrada para este programa. A saída deve ser uma linha simples como mostrado
abaixo com <numero> substituído pelo número calculado.
EXEMPLO DE SAÍDA
O numero feio de ordem 1500 eh <numero>.
4º Torneio de Programação – TOPCOM 4
PET – Engenharia de Computação - UFES
PROBLEMA B
Desafio de Palavras-Cruzadas
Quase todo mundo está familiarizado com o desafio de palavras-cruzada. Nesse problema,
você terá que lidar com um tipo de palavras-cruzada que é adequado para ser resolvido por
um computador automático. Uma descrição do desafio é uma lista das palavras possíveis
(o dicionário) são dadas, e o objetivo é encontrar o número de possíveis soluções, caso
exista alguma, usando o dado dicionário.
O desafio é representado como uma matriz bidimensional de espaços brancos e pretos. A
solução é um subconjunto de palavras do dicionário que preenchem toda a seqüência de
espaços em branco de uma forma tal que todas as palavras, tanto na horizontal quanto na
vertical, são palavras válidas no dicionário. Uma “palavra” de uma letra somente não
necessita estar no dicionário.
Segue um exemplo de palavras-cruzada no qual espaços em branco e preto são
respectivamente representados por caracteres de ‘.’ e ‘#’, de dicionário, e a solução para
esse desafio:
.
.
.
.
.
.
.
.
.
.
.
.
#
.
.
.
.
.
.
.
.
.
.
.
#
#
.
#
#
#
.
.
.
.
#
.
#
.
.
.
.
.
.
#
.
.
.
.
.
.
.
#
.
.
.
.
.
#
.
.
.
.
.
.
.
.
.
#
.
.
.
.
.
#
#
.
#
.
.
#
.
.
#
.
.
#
.
.
.
.
.
.
.
.
.
#
.
.
.
.
aa ac al alao ali ap
atencao atlanta camilo
doar dr duo eam eis el
epoca et icar ileso is
la loto mal men
merito mi no
oaristo oo os pios
resto roa roca rt
sa senil si tule
variedades verdadeiro
v
e
r
d
a
d
e
i
r
o
a
p
#
o
a
r
i
s
t
o
r
o
c
a
#
#
s
#
#
#
i
c
a
r
#
r
#
m
a
l
e
a
m
#
m
e
r
i
t
o
d
#
i
l
e
s
o
#
e
t
a
t
l
a
n
t
a
#
n
o
d
u
o
#
#
o
#
a
c
#
e
l
#
s
a
#
a
l
a
o
s
e
n
i
l
#
p
i
o
s
Seu objetivo é desenvolver um programa para resolver o desafio de palavras-cruzadas
passado.
A ENTRADA
A entrada começa com um único inteiro positivo sozinho numa linha indicando o número
de casos que se seguirão, cada um deles descritos abaixo. Essa linha é seguida por uma
linha em branco, e também haverá uma linha em branco entre as entradas de dois casos
consecutivos.
A entrada consiste em uma configuração de um tabuleiro de palavras-cruzada de tamanho
10X10 e um dicionário de palavras. Para o tabuleiro, cada linha de entrada é uma
seqüência de caracteres '.' e '#'. Você deve assumir que a configuração dada é sempre
correta.
O dicionário de palavras começa imediatamente depois da última linha do tabuleiro. Cada
4º Torneio de Programação – TOPCOM 4
PET – Engenharia de Computação - UFES
palavra é uma seqüência caracteres minúsculas e sem acentos e elas são separadas por
espaços. O dicionário termina quando se chega ao final do arquivo de entrada.
A SAÍDA
Para cada caso de teste, a saída deve seguir a descrição abaixo. As saídas de dois casos
consecutivos serão separadas por uma linha em branco.
O programa deve ter como saída o número de soluções que uma dada palavra-cruzada
aceita.
EXEMPLO DE ENTRADA
1
..........
.....#....
.#......#.
....#..#..
..##...#..
..#.....##
...#...#..
..#..##...
..#.......
..#....#..
aa ac al alao
ali ap atencao
atlanta camilo
doar dr duo eam
eis el epoca et
icar ileso is
la loto mal men
merito mi no
oaristo oo os pios
resto roa roca rt
sa senil si tule
variedades verdadeiro
EXEMPLO DE SAÍDA
1
4º Torneio de Programação – TOPCOM 4
PET – Engenharia de Computação - UFES
PROBLEMA C
Números na base 7K
Consideremos números na base K, contendo exatamente N dígitos. Nós definimos que um
número é válido se sua notação na base K não contenha 2 zeros sucessivos.
Exemplo:
1010230 é um número válido de 7 dígitos
1000198 não é um número válido
0001235 não é um número de 7 dígitos, é um de 4 dígitos
Dados N e K, você deverá calcular a quantidade de números na base K válidos.
Você pode assumir que 2 <= K <= 10; 2 <= N; 4 <= N+K <= 18.
A ENTRADA
Dois números decimais N e K.
A SAÍDA
O resultado em notação decimal.
EXEMPLO DE ENTRADA
2
10
EXEMPLO DE SAÍDA
90
4º Torneio de Programação – TOPCOM 4
PET – Engenharia de Computação - UFES
PROBLEMA D
Problema A+B
Calcular A + B
A ENTRADA
AeB
A SAÍDA
A+B
EXEMPLO DE ENTRADA
1 5
EXEMPLO DE SAÍDA
6
Download

Warm up - Torneio de Programação de Computadores