Você está na página 1de 15

URI 2246

Avelino tem um mosaico em uma das paredes de sua casa. É uma mosaico muito antigo, composto por pequenos
ladrilhos coloridos. Como é um mosaico antigo, alguns ladrilhos se soltaram ao longo dos anos formando buracos.
Agora, Avelino quer restaurar o mosaico cobrindo os buracos com novos ladrilhos. Entretanto, para economizar, Avelino
quer comprar ladrilhos de uma única cor para tapar os buracos. Em particular, quer comprar ladrilhos de uma das
cores originais ou de uma cor ainda não contida no mosaico.
URI 2246
Por ser um mosaico, não se deseja que hajam áreas muito grandes com a mesma cor. Avelino resolveu que vai escolher a
cor dos ladrilhos tentando fazer com que o tamanho da menor área monocromática seja o menor possível, para que haja
mais detalhes. Veja que pode existir mais de uma cor possível. Uma área é monocromática se todos os ladrilhos nela
são da mesma cor. Dois ladrilhos adjacentes fazem parte da mesma área se possuem a mesma cor, e dois
ladrilhos são adjacentes se compartilham um lado.
URI 2246
Veja o primeiro caso de exemplo, temos três áreas da cor 1 (uma de tamanho 3 e duas de tamanho 2), uma área da cor 2
(de tamanho 3) e uma área da cor 3 de tamanho 7. Uma resposta possível seria escolher a cor 2, fazendo com que a
menor área monocromática seja de tamanho 2. Se escolhermos a cor 1 a menor área seria de tamanho 3.
URI 2246
Veja o primeiro caso de exemplo, temos três áreas da cor 1 (uma de tamanho 3 e duas de tamanho 2), uma área da cor 2
(de tamanho 3) e uma área da cor 3 de tamanho 7. Uma resposta possível seria escolher a cor 2, fazendo com que a
menor área monocromática seja de tamanho 2. Se escolhermos a cor 1 a menor área seria de tamanho 3.
URI 2246
Veja o primeiro caso de exemplo, temos três áreas da cor 1 (uma de tamanho 3 e duas de tamanho 2), uma área da cor 2
(de tamanho 3) e uma área da cor 3 de tamanho 7. Uma resposta possível seria escolher a cor 2, fazendo com que a
menor área monocromática seja de tamanho 2. Se escolhermos a cor 1 a menor área seria de tamanho 3.
URI 2246
ENTRADA
A primeira linha contém dois inteiros H e L, a altura e largura do mosaico, respectivamente, satisfazendo 1 ≤ H ≤ 200 e 1 ≤
L ≤ 200 . Em seguida, H linhas conterão cada uma L inteiros, separados por espaço, correspondendo às cores dos
ladrilhos. Um inteiro 0 corresponde a um buraco e um inteiro i ≠ 0 corresponde a um ladrilho com a i-ésima cor,
podendo ir de 1 até 40000 no máximo.

Exemplo de entrada Exemplo de saída


38 2
3
33311000
31102201
33300211 8
URI 1123
O sistema rodoviário de um país interliga todas as suas N cidades de modo que, a partir de uma cidade qualquer, é
possível chegar a cada uma das outras cidades trafegando pelas estradas existentes. Cada estrada liga duas cidades
distintas, tem mão dupla e um único posto de pedágio (o pedágio é pago nos dois sentidos de tráfego). As estradas não se
intersectam a não ser nas cidades. Nenhum par de cidades é interligado por duas ou mais estradas.

10
2 10 1 Grafo
Valorado (P)
N Vértices
10
10
3 1

0
URI 1123
A Transportadora Dias oferece um serviço de transporte de encomendas entre as cidades. Cada encomenda deve ser
levada de uma cidade A para uma outra cidade B. A direção da Transportadora Dias define, para cada encomenda, uma
rota de serviço, composta por C cidades e C−1 estradas: a primeira cidade da rota de serviço é a origem da encomenda, a
última o destino da encomenda. A rota de serviço não passa duas vezes pela mesma cidade, e o veículo escolhido para
fazer o transporte de uma encomenda pode trafegar apenas pela rota de serviço definida.

10
2 10 1

10
10
3 1

0
URI 1123
Certo dia, no entanto, o veículo que executava uma entrega quebrou e precisou ser levado para conserto em uma cidade
que não está entre as cidades de sua rota de serviço. A direção da Transportadora Dias quer saber qual é o menor
custo total, em termos de pedágio, para que o veículo entregue a encomenda na cidade destino, a partir da cidade em
que foi consertado, mas com uma restrição adicional: se em algum momento o veículo passar por uma das cidades que
compõem a sua rota de serviço, ele deve voltar a obedecer a rota de serviço.

10
2 10 1

10
10
3 1

0
URI 1123
A entrada contém vários casos de teste. A primeira linha de um caso de teste contém quatro inteiros N, M, C e K (4 ≤ N ≤
250, 3 ≤ M ≤ N×(N−1)/2, 2 ≤ C ≤ N−1 e C ≤ K ≤ N−1), representando, respectivamente, o número de cidades do país, o
número de estradas, o número de cidades na rota de serviço e a cidade em que o veículo foi consertado. As cidades são
identificadas por inteiros de 0 a N−1. A rota de serviço é 0, 1, ... , C−1, ou seja, a origem é 0, de 0 passa para 1, de 1
para 2 e assim por diante, até o destino C−1.

Exemplo de entrada Exemplo de saída


10
4633 10
10 1
2 0 1 10
1 2 10

10 021

10 301
3 1
3 1 10

1 3 2 10

0
URI 1123
As M linhas seguintes descrevem o sistema rodoviário do país. Cada uma dessas linhas descreve uma estrada e contém
três inteiros U, V e P (0 ≤ U, V ≤ N−1, U ≠ V, 0 ≤ P ≤ 250), indicando que há uma estrada interligando as cidades U e V
com custo de pedágio P.

Exemplo de entrada Exemplo de saída


10
4633 10
10 1
2 0 1 10
1 2 10

10 021

10 301
3 1
3 1 10

1 3 2 10

0
URI 1100

1 Pedro está fazendo uma pesquisa sobre o problema do movimento


do cavalo em um tabuleiro de xadrez e incumbiu você da tarefa de
2
encontrar o menor conjunto de movimentos possíveis, podendo sair
3 de qualquer quadrado a e podendo chegar em qualquer quadrado
b dentro do tabuleiro, sendo que a e b são quadrados diferentes.
4
Ele pensa que a parte mais difícil do problema é determinar o

5 menor número de movimentos do cavalo entre 2 quadrados


fornecidos e que uma vez que você está comprometido com esta
6 tarefa, encontrar a sequência de movimentos entre estes 2
quadrados será uma tarefa muito fácil.
7

A B C D E F G H
URI 1100

2
É claro que você sabe que o movimento é vice versa. Portanto você
3 deve fornecer a Pedro um programa que resolva esta questão.

4
Seu trabalho então será escrever um programa que, pegando dois

5 quadrados a e b como entrada, determine o número de


movimentos para encontrar a rota mais curta de a até b.
6

A B C D E F G H
URI 1100

Exemplo de entrada Exemplo de saída

g1 h3 To get from g1 to h3 takes 1 knight moves.

a1 b2 To get from a1 to b2 takes 4 knight moves.

b2 c3 To get from b2 to c3 takes 2 knight moves.

a1 h8 To get from a1 to h8 takes 6 knight moves.

a1 h7 To get from a1 to h7 takes 5 knight moves.

h8 a1 To get from h8 to a1 takes 6 knight moves.

b1 c3 To get from b1 to c3 takes 1 knight moves.


URI 1100

Exemplo de entrada Exemplo de saída

g1 h3 To get from g1 to h3 takes 1 knight moves.

a1 b2 To get from a1 to b2 takes 4 knight moves.

b2 c3 To get from b2 to c3 takes 2 knight moves.

a1 h8 To get from a1 to h8 takes 6 knight moves.

a1 h7 To get from a1 to h7 takes 5 knight moves.

h8 a1 To get from h8 to a1 takes 6 knight moves.

b1 c3 To get from b1 to c3 takes 1 knight moves.

Você também pode gostar