Resolvendo Labirintos - Parte 1
Tendo em vista o feriado semana que vem, o clube essa semana será especial! :D Iremos apresentar dois problemas que envolvem exploração. Mais especificamente, exploração de labirintos! Nesse primeiro problema, você só tem que achar uma saída, não importando se é a mais curta. Além disso, para comprovar que você sabe sair do labirinto, você precisa demonstrar através de prints no terminal o caminho que resolve o desafio! O labirinto (seu input) é demarcado por alguns caracteres: - "." significa que você pode caminhar nessa posição. - "#" significa que tem uma parede ali, e você não pode atravessa-la. - "F" representa o final do labirinto. Você sempre começa pela posição mais acima na esquerda, e pode se mover uma casa na horizontal OU uma casa na vertical por vez. Você deve representar em seu print as casas que pertencem a solução com "X". Por exemplo, para o labirinto: ..################### ..#.....#.#.#.#.....# #.#####.#.#.#.#.##### #.....#.....#...#...# #####.#.#####.###.#.# #.....#.#.#.#.#...#.# #.#.#.#.#.#.#.#.#.### #.#.#.....#.....#.#.# #.#.###.#.#.#######.# #.#.#...#...#.......# #.#.###.#####.###.### #.#.#...#.#.....#...# #.###.#.#.#####.##### #.#.#.#...#.#.......# #.#.#######.#######.# #.#.......#.#.....#.# #.#.###.###.###.#.#.# #...#...........#...# #######.#####.####### #.......#............ ###################.F O print final deve ser: .X################### .X#.....#.#.#.#.....# #X#####.#.#.#.#.##### #XXXXX#.....#...#...# #####X#.#####.###.#.# #XXXXX#.#.#.#.#...#.# #X#.#.#.#.#.#.#.#.### #X#.#.....#.....#.#.# #X#.###.#.#.#######.# #X#.#...#...#.......# #X#.###.#####.###.### #X#.#...#.#.....#...# #X###.#.#.#####.##### #X#.#.#...#.#.......# #X#.#######.#######.# #X#XXXXX..#.#.....#.# #X#X###X###.###.#.#.# #XXX#..XXXXXXX..#...# #######.#####X####### #.......#....XXXXXXXX ###################.X Para o seu input, como deve ser o print final? (mostrar pra algum dos Pedros, não adianta mostrar resposta aqui). Materiais de apoio: 1 - CS50AI: DFS - BFS (Em inglês, mas ensina muito bem. Tem boa legenda também) https://www.youtube.com/watch?v=qzhEB8FxxRs 3:10 até 36:23 (ou até o fim caso queiram fazer uma inteligência artificial para jogar o jogo da velha :D) 2 - Site para brincar com algoritmos de exploração: https://clementmihailescu.github.io/Pathfinding-Visualizer/# 3 - Também é possível encontrar materiais em português sobre o assunto procurando no Google por algoritmos de busca por profundidade ou busca em largura. Lá da pra encontrar bons materiais, como os da USP. Esse problema também pode ser resolvido com outros algoritmos, incentivamos também quem quiser buscar por soluções diferentes.

You must be signed in to view this. Sign in