한칸씩 진행하지 않고 벽에 부딪힐 때까지 한 번에 진행하는 방식으로 AC가 가능합니다.
근데 그 외의 방법으로 x좌표와 y좌표를 따로따로 계산하면 쉬운 규칙이 있어서 ㅋㅋㅋ
x만 보면 좌우로 왔다갔다 할뿐이고 y로 보면 위아래로 왔다갔다 할 뿐이니까요
그걸로 짧고 빠른 코드를 짤 수가 있어요
10158번 - 개미
한칸씩 진행하지 않고 벽에 부딪힐 때까지 한 번에 진행하는 방식으로 AC가 가능합니다.
근데 그 외의 방법으로 x좌표와 y좌표를 따로따로 계산하면 쉬운 규칙이 있어서 ㅋㅋㅋ
x만 보면 좌우로 왔다갔다 할뿐이고 y로 보면 위아래로 왔다갔다 할 뿐이니까요
그걸로 짧고 빠른 코드를 짤 수가 있어요
댓글을 작성하려면 로그인해야 합니다.
topjlim 9년 전
도와주세요
1. 우선 처음에 2차원 배열로 해야되나? 생각했는데 40000 * 40000이라서 이건 아닌거 같애서 이 방법은 넘겼습니다.
2. 개미의 진행방향과 시간을 인자로 가지는 재귀함수를 호출해서 구하면 어떨까?
=> 구현했더니 예제에 대한 답이 나왔습니다! 오호
3. But 시간 초과가 났습니다. ㅠㅠ 재귀함수 호출을 무지막지하게 해야 되는 방법이라는 것을 깨달았습니다.
4. 개미가 한 바퀴를 돌고 또 도는 동작이 있다는 걸 발견했습니다. 이렇게 되면 200000000이런식의 수행횟수를 돌아야 하더라도
재귀 호출 횟수를 엄청 줄여 줄 수 있다고 생각했습니다.
그래서 재귀함수 호출을 하는 소스를 사용하면서 위의 사이클을 발견해서 그 부분의 계산량을 줄여주었습니다.
그래도 시간 초과 ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ
제가 만든 소스로 예제도 제대로 답이 나오고 제가 만든 몇 가지 테스트 케이스도 답이 나와서 답을 제대로 도출하지 않는 것은
아닌거 같고요. 근데 시간초과가 너무 심하네 요 ㅜㅜㅜ
도움 부탁드립니다.