만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

피쿨리체

면접 대비

시간 제한1초메모리 제한1024 MB

요약
빨간 구슬과 파란 구슬이 놓인 줄에서 빈 칸 하나를 이용해 빨간 구슬을 모두 앞에, 빈 칸을 가운데, 파란 구슬을 뒤에 모으는 최소 이동 횟수를 구합니다.
난이도

보통10점 중 5점

유형
BFS, 그래프, 시뮬레이션
정답자
아직 제출이 없습니다

부분 문제

Marin의 책상에는 N+1N+1개의 받침대가 한 줄로 놓여 있습니다. 받침대 중 정확히 하나는 비어 있고, 나머지 받침대에는 빨간색 또는 파란색 구슬이 하나씩 놓여 있습니다. Marin은 다음 두 가지 방법으로 구슬을 옮깁니다.

  • 빈 받침대에 인접한 구슬을 빈 받침대로 옮깁니다. 구슬이 있던 받침대는 비게 됩니다.
  • 구슬 AA가 인접한 구슬 BB를 뛰어넘습니다. 단, AA와 BB의 색이 달라야 하며, BB에 인접한 받침대가 비어 있어야 합니다. AA는 그 빈 받침대에 놓이고, AA가 있던 받침대는 비게 됩니다.

각 이동에는 1초가 걸립니다.

어느 3월 저녁, 친구 Stjepan이 찾아와 구슬을 먼저 모두 빨간색으로 모으고, 그다음 빈 받침대, 그다음 모두 파란색 순서로 놓아야 한다고 말했습니다. Marin은 그 순서대로 구슬을 최대한 빠르게 재배치했습니다. 몇 초가 걸렸습니까?

예제3

  1. 예제 1

    입력
    2
    PCX
    
    예상 출력
    2
    
  2. 예제 2

    입력
    4
    CCXPP
    
    예상 출력
    0
    
  3. 예제 3

    입력
    4
    XCPCP
    
    예상 출력
    3