fork download
  1. n, m = map(int, input().split())
  2. lab = [input() for i in range(n)]
  3.  
  4. for i in range(n):
  5. for j in range(m):
  6. if lab[i][j] == 'S': start = (i, j)
  7. elif lab[i][j] == 'F': finish = (i, j)
  8.  
  9. #print(start, finish)
  10. #print('='*30)
  11.  
  12. used = set()#(x, y)
  13. q = [(start[0], start[1], '', 0)]#(x, y, путь, расстояние)
  14. while q:
  15. now = q.pop(0)
  16. for c, dx, dy in [
  17. ('U', -1, 0),
  18. ('D', 1, 0),
  19. ('R', 0, 1),
  20. ('L', 0, -1)
  21. ]:
  22. nxt = (now[0] + dx, now[1] + dy, now[2] + c, now[3] + 1)
  23. if not (0 <= nxt[0] < n and 0 <= nxt[1] < m): continue
  24. if nxt[:2] == finish: print(nxt[3], nxt[2]); exit()
  25. if lab[nxt[0]][nxt[1]] == '#': continue
  26. if nxt[:2] in used: continue
  27. q.append(nxt)
  28. else: print(-1)
Success #stdin #stdout 0.09s 14160KB
stdin
11 11
###########
#.#.......#
#.#.##..###
#...#.#.#.#
#####.#.#.#
#.#.#.....#
#.#.#.#####
#.#...F.#.#
#.#S#####.#
#.........#
###########
stdout
4 URRR