BOJ : BFS – 로봇

Problem code : 1726


The source of this problem is http://www.acmicpc.net/

Problem Link


My Answer

  • Lang : C++
  • Time : 0
  • Memory 1724
  • Code :


Check point

  • 처음엔 아래 코드처럼 풀었다. 각 위치에서 조작가능한 것을 다 해버리는 것이다. 70점이 나왔다. 어디서 문제인지는 못찾겠으나 이런식으로 풀면 BFS 레벨 순환구조로 푸는 것이 아니다. 분명 어디서 꼬이는 것이 나온다. 위의 답처럼 푸는 것이 레벨 순환구조이다. 즉 각 레벨에서 할 수 있는 처리를 큐에서 하나씩 다 해주는 것이다. 위의 경우 각 지점 및 그 방향에서, 5가지 명령을 할 수 있다. 그 방향대로 1,2,3칸 가기와 우회전,좌회전이다. 주의할것은 좌회전 시에는 ni가 아니라 hi hj그대로 이용한 다는 것이다. 그리고 이 문제의 경우 모든 경우라해봣자 100x100x4방향x5명령이니까 20만이라 0ms가 나와야 정상이다. 처음에 메모리,시간초과가 떴는데 내가 hi대신 ni를 썼고, 또 vis체크를 하지 않았었다.. 밑에는 처음 푼 잘못 된 코드

It's only fair to share...Share on Facebook
Facebook
Share on Tumblr
Tumblr
Share on Google+
Google+
Tweet about this on Twitter
Twitter
Email this to someone
email
Musicals, Travel, Photo, Coding, English, Cat