fork download
  1. #VSTUP:
  2. # n m - rozmery
  3. # n riadkov, m stlpcov: '.' prazdne policko, '#' stena/prekazka
  4. # Sr Ss - pozicia startu (riadok, stlpec)
  5. # Cr Cs - pozicia ciela (riadok, stlpec)
  6.  
  7. import queue
  8.  
  9. n,m = [int(_) for _ in input().split()]
  10. mapa = [[_ for _ in input()] for r in range(n)]
  11.  
  12. Sr,Ss = [int(_) for _ in input().split()]
  13. Cr,Cs = [int(_) for _ in input().split()]
  14. print("Nacitane")
  15. print(n,m)
  16. print(Sr, Ss)
  17. print(Cr, Cs)
  18. print(mapa[2]) #vypise treti riadok
  19. print(*mapa[2]) #vypise treti riadok
  20. print("".join(mapa[2])) #vypise treti riadok
  21. print(mapa[2][3]) # prvok na riadku 2 a stlpci 3
  22.  
  23. print("Cela mapa:")
  24. for r in range(n):
  25. print("".join(mapa[r]))
  26.  
  27. mapa[Sr][Ss] = 0
  28. policka = queue.Queue() #novy rad, zoznam policok z ktorych treba dalej pokracovat
  29. policka.put( (Sr, Ss) ) # usporiadana dvojica - riadok, stlpec
  30.  
  31. def da_sa(r, s):
  32. if not (0 <= r < n): return False
  33. if not (0 <= s < m): return False
  34. return mapa[r][s] == '.'
  35.  
  36. while not policka.empty(): #ak treba este nejake policka spracovat
  37. r,s = policka.get() #vyberieme prve policko
  38. #print(r,s)
  39. #pozerame na vsetky smery a hladame "prazdne" nenavstivene policko = '.'
  40. for smer in [(1,0), (-1, 0), (0, 1), (0, -1),
  41. (1,1), (-1, 1), (-1, -1), (1, -1)]: #smery pohybu
  42. nr, ns = r+smer[0], s+smer[1] #policko posunute v danom smere
  43. if da_sa(nr, ns):
  44. mapa[nr][ns] = 1+mapa[r][s] #nastavime najmensiu vzdialenost
  45. policka.put( (nr,ns) ) #pridaj policko na spracovanie
  46.  
  47. print("Cela mapa:")
  48. for r in range(n):
  49. print(*mapa[r])
  50. print(mapa[Cr][Cs])
Success #stdin #stdout 0.02s 28120KB
stdin
7 17
.....#...........
.....#...........
...#.#...........
...#.#...#.......
...#.#...#.......
...#.....#.......
...#.....#.......
0 0
6 13
stdout
Nacitane
7 17
0 0
6 13
['.', '.', '.', '#', '.', '#', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.', '.']
. . . # . # . . . . . . . . . . .
...#.#...........
#
Cela mapa:
.....#...........
.....#...........
...#.#...........
...#.#...#.......
...#.#...#.......
...#.....#.......
...#.....#.......
Cela mapa:
0 1 2 3 4 # 12 12 12 12 12 13 14 15 16 17 18
1 1 2 3 4 # 11 11 11 11 12 13 14 15 16 17 18
2 2 2 # 4 # 10 10 10 11 12 13 14 15 16 17 18
3 3 3 # 5 # 9 9 10 # 12 13 14 15 16 17 18
4 4 4 # 6 # 8 9 10 # 13 13 14 15 16 17 18
5 5 5 # 7 7 8 9 10 # 14 14 14 15 16 17 18
6 6 6 # 8 8 8 9 10 # 15 15 15 15 16 17 18
15