문제
백준 2478
설명
왼쪽으로 a
칸 밀고, [b, c]
구간을 뒤집고, 다시 왼쪽으로 d
칸 미는 동작을 반복했을 때의 결과가 주어져있다. 어떻게 미지수를 구할까?
[b, c]
의 길이는 주어진 순열의 내림차순인 구간의 길이가 된다.
그리고 조금만 생각해보면 [b, c]
만 결정되면 a
와 d
는 바로 결정됨을 알 수 있다.
불가능한 경우는 없으므로 b
가 0
인 경우부터 하나씩 증가시키면서 셈하면 답을 구할 수 있을 것이다.
거기에 불가능한 경우인 a
를 0
으로 만드는 [b, c]
는 하나 뿐이고 d
에 대해서도 역시 마찬가지이다.
그러므로 최대 두번의 탐색으로 불가능한 경우를 제외시키고 답을 얻을 수 있다.
시간 복잡도
O(\(\mathrm{N}\))
코드
댓글남기기