문제
출처 : www.acmicpc.net/problem/2174
로봇의 위치와 각 명령이 주어졌을때, 시뮬레이션을 안전하게 돌릴수 있는지 확인하는 문제다.
명령은 다음 3개가 있다.
- L: 로봇이 향하고 있는 방향을 기준으로 왼쪽으로 90도 회전한다.
- R: 로봇이 향하고 있는 방향을 기준으로 오른쪽으로 90도 회전한다.
- F: 로봇이 향하고 있는 방향을 기준으로 앞으로 한 칸 움직인다.
로봇이 명령을 수행하다가 다른로봇 혹은 벽과 충돌할경우 다음을 출력하고 종료한다.
- Robot X crashes into the wall: X번 로봇이 벽에 충돌하는 경우이다. 즉, 주어진 땅의 밖으로 벗어나는 경우가 된다.
- Robot X crashes into robot Y: X번 로봇이 움직이다가 Y번 로봇에 충돌하는 경우이다.
풀이
문제그대로 풀면 풀리는 문제다. 몇가지 주의? 해야할게 있었는데, (이것때문에 많이 틀림)
1. 모든 입력은 (X,Y)로 주어짐.
-> 다른문제처럼 Y,X로 입력받다가 여러번 틀렸음
2. 배열의 시작지점(1,1)은 왼쪽 하단부터임.
-> 1,1지점을 왼쪽 상단으로 잡고 풀었다가 틀렸음 이렇게하면, N으로 이동했을때, Y-- 연산을 하게되서 틀림 (N이동은 Y++임)
소스코드
'알고리즘 (2020 : 08 : 10 ~ ) > 구현, 시뮬' 카테고리의 다른 글
[백준 / BOJ] 20157 화살을 쏘자 (0) | 2020.11.26 |
---|---|
[백준 / BOJ] 2872 우리집엔 도서관이 있어 (0) | 2020.11.06 |
[백준 / BOJ] 3213 피자 (0) | 2020.10.05 |
[백준 / BOJ] 8901 화학 제품 (0) | 2020.09.18 |
[백준 / BOJ] 15658 연산자 끼워넣기 (2) (0) | 2020.09.16 |