Sunteți pe pagina 1din 6

Backtracking

Desenhando uma casa (https://uva.onlinejudge.org/external/2/291.pdf)


Quem nunca brincou de desenhar uma casinha sem tirar o lpis do papel e sem passar na
mesma linha duas vezes? (se no brincou no teve infncia)

A brincadeira a seguinte, voc tem que comear desenhar a casa do ponto 1, de modo a
desenhar toda a casa passando por cada linha uma nica vez.

Exemplo 1:
A ordem 153125432 vlida pois desenha toda a casa passando por cada linha uma nica
vez. Veja o desenho do caminho que foi feito:

Dessa forma, faa um programa que imprima de forma ordenada (menor para maior)
todos os caminhos vlidos possveis partindo de 1.

Sada experada:
123153452

154352312
Distncia de hamming
(https://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=
670)
Dados dois nmeros binrios n1 e n2. A distncia de hamming dada pelo nmero de bits 1
no xor desses nmeros (n1 xor n2).

Exemplo:
A= 0100101000
B= 1101010100
A xor B = 1 0 0 1 1 1 1 1 0 0

Como A xor B tem 6 bits com valor 1, ento a distncia de hamming entre A e B 6.

O desafio o seguinte: dados dois nmeros N e H (1 <= H <= N <= 16) imprima todos os
nmeros binrios (de forma crescente) que tm N bits e que tenham distncia de hamming
igual a H do nmero 0 em binrio com N bits. Assim se N = 4 e H = 2, um possvel valor que
satisfaz isso 0011, pois tem 4 bits e a distncia de hamming de 0011 com 0000 2.

Exemplo de entrada e sada:

Entrada:
42

Sada:
0011
0101https://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&proble
m=670
0110
1001
1010
1100

Dica: a quantidade nmeros binrios que satisfazem essas restries N!/((N - H)!H!)
Minimum Spanning Tree

Transportation System
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=
673&page=show_problem&problem=2169
Ideia: dividir a sada para pequenas vs longas arestas

Re-connecting
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=
673&page=show_problem&problem=849
Ideia: MST basico

Ip-TV
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=
673&page=show_problem&problem=3615
Ideia:Precisa s mapear a cidade para os indices

DarkRoads
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=
673&page=show_problem&problem=2678
Ideia: soma de todas os pesos - soma das arestas da MST
Dijkstra
EZDIJKST - Easy Dijkstra Problem
Determine o menor caminho entre os vrtices especificados no grafo dado como entrada.

Entrada:
Primeira linha: Nmero de test cases
Para cada test case so dados os nmeros V e K(vrtices e arestas) com mais K linhas
seguintes, contendo 3 nmeros, separados por espao: a,b e c. Significando que o grafo
contm uma aresta de a b com peso c.
Abaixo da descrio do grafo, uma linha contm um par A, B. O objetivo achar o menor
caminho de A at B.

Sada:
Para cada test case o programa deve retornar (por linha) um nico nmero C, o tamanho do
menor caminho entre A e B, caso no exista tal caminho o programa deve retornar apenas
um NO.

Exemplo

Entrada:
2
32
125
237
13
31
124
13

Sada:
12
NO

SAMER08A - Almost Shortest Path

Seu chefe pede para que voc desenvolva uma nova aplicao a qual apenas ele ter
acesso, tal aplicao deve retornar o (quase) menor caminho entre dois pontos quando ele
perguntar. A resposta definida como o menor caminho entre dois pontos de modo que
nenhuma rota entre dois pontos consecutivos deve pertencer a qualquer menor caminho do
ponto de incio ao de destino.

Por exemplo, na figura abaixo existem dois menores caminhos, com peso 4 (traados de
negrito), j o (quase) menor caminho tem peso 5 e representado pelas linhas pontilhadas.
Note que nem sempre haver apenas uma resposta, como tambm pode no haver
nenhuma resposta.

Entrada:
Contm uma srie de test cases. A primeira linha de um test case contm dois inteiros N e
M, que indicam respectivamente o nmero de pontos num mapa e o nmero de rotas de
mo nica conectando dois pontos diretamente. Cada ponto identificado por um inteiro
entre 0 e N -1. A segunda linha contm dois inteiros S e D, indicando respectivamente os
pontos de incio e partida. Cada uma das M linhas subsequentes contm 3 inteiros U,V e P,
indicando a existncia de uma rota de mo nica de U com distncia P.

Sada:
Para cada test case da entrada, seu programa deve printar um nica linha contendo -1 se
no houver resposta ou um inteiro representando o tamanho do (quase) menor caminho.

Exemplo:

Entrada:
79
06
011
021
032
043
152
264
362
464
561
46
02
011
121
131
321
203
302
68
01
011
022
033
253
342
411
511
301
00

Sada:
5
-1
6

Caio (Shortest path)

Smart Travel agent

https://www.hackerearth.com/practice/algorithms/graphs/shortest-path-algorithms/pr
actice-problems/algorithm/smart-travel-agent/

Costly Phone Number

https://www.hackerearth.com/practice/algorithms/graphs/shortest-path-algorithms/pr
actice-problems/algorithm/costly-phone-number-december-easy-easy-medium/

Monk and Graph G

https://www.hackerearth.com/practice/algorithms/graphs/shortest-path-algorithms/pr
actice-problems/algorithm/monk-and-graph-g-codemonk-2/

S-ar putea să vă placă și