ps:problems:boj:33912
N거리 건너기
ps | |
---|---|
링크 | acmicpc.net/… |
출처 | BOJ |
문제 번호 | 33912 |
문제명 | N거리 건너기 |
레벨 | 실버 2 |
분류 |
애드혹 |
시간복잡도 | O(n) |
인풋사이즈 | n<=100000 |
사용한 언어 | Python 3.13 |
제출기록 | 42660KB / 92ms |
최고기록 | 84ms |
해결날짜 | 2025/05/23 |
풀이
- 풀이는 에디토리얼 참고
- 시간복잡도는 O(n)
코드
"""Solution code for "BOJ 33912. N거리 건너기".
- Problem link: https://www.acmicpc.net/problem/33912
- Solution link: http://www.teferi.net/ps/problems/boj/33912
Tags: [ad hoc]
"""
import itertools
def main():
N, M = [int(x) for x in input().split()]
M -= 1
A = [int(x) - 1 for x in input().split()]
orders = [0] * N
for i, a_i in enumerate(A):
orders[a_i] = i
cw_time = orders[0] + sum(
(cur - prev) % N for prev, cur in itertools.pairwise(orders[:M])
)
ccw_time = orders[-1] + sum(
(cur - prev) % N
for prev, cur in itertools.pairwise(orders[: M - 1 : -1])
)
print('CW' if cw_time < ccw_time else 'CCW')
if __name__ == '__main__':
main()
ps/problems/boj/33912.txt · 마지막으로 수정됨: 2025/05/23 14:39 저자 teferi
토론