백준 14503 C++ 로봇청소기
문제는 단순 구현 문제였다. 예제 2번에 대한 답이 계속해서 나오지 않아 고민했는데, '바라보는 방향의 뒤쪽 칸이 벽이면 후진할 수 없다' 라는 것을 기억해야한다. 즉 청소한 칸의 경우는 후진할 수 있다. 이 부분을 없애니 바로 맞았다. #include #include using namespace std; int N, M, cnt; int room[51][51]; int dx[4] = { 0, 1, 0, -1 }; int dy[4] = { -1, 0, 1, 0 }; int x, y, dir; int move(void) { int nx, ny; if (room[y][x] == 0) { // 청소가 되어 있지 않으면 청소한다 room[y][x] = 2; cnt++; return 1; } for (int i ..
2023.09.15