아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

빵 정렬

면접 대비

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

요약
서로 다른 1부터 n까지의 순열 두 개가 주어질 때, 인접한 세 원소를 오른쪽으로 한 칸 회전하는 연산만으로 첫 순열을 두 번째 순열로 만들 수 있는지 판정한다.
난이도

보통10점 중 6점

유형
배열, 그리디, 정렬, 수학
정답자
아직 제출이 없습니다

문제

상근이는 빵집에서 일한다. 퇴근하기 전 마지막 업무는 빵을 사장이 원하는 순서대로 정렬하는 것이다.

상근이는 인접한 빵 세 개를 주걱으로 동시에 던지는 기술을 쓸 수 있다. 빵이 다시 내려올 때는 세 빵 중 가장 오른쪽에 있던 빵이 가장 왼쪽으로 이동하고, 나머지 두 빵은 각각 한 칸씩 오른쪽으로 밀려난다. 즉, 세 빵 [a,b,c][a, b, c]에 기술을 쓰면 [c,a,b][c, a, b]가 된다. 예를 들어 빵의 순서가 [1,2,3,4][1, 2, 3, 4]일 때 위치 2,3,42, 3, 4에 있는 [2,3,4][2, 3, 4]에 기술을 쓰면 순서는 [1,4,2,3][1, 4, 2, 3]이 된다.

빵의 현재 순서와 사장이 원하는 순서가 주어졌을 때, 이 기술만 사용해서 원하는 순서를 만들 수 있는지 판별하는 프로그램을 작성하시오.

입력

첫째 줄에 빵의 개수 nn (3≤n≤100,000)(3 \le n \le 100{,}000)이 주어진다. 둘째 줄에는 빵의 현재 순서가, 셋째 줄에는 사장이 원하는 순서가 공백으로 구분되어 주어진다. 빵은 11부터 nn까지의 서로 다른 정수로 나타내며, 같은 번호를 가진 빵은 없다.

출력

이 기술만 사용해서 사장이 원하는 순서를 만들 수 있으면 Possible을, 만들 수 없으면 Impossible을 출력한다.

예제2

  1. 예제 1

    입력
    4
    1 3 4 2
    4 3 2 1
    
    예상 출력
    Possible
    
  2. 예제 2

    입력
    6
    1 2 3 4 5 6
    6 5 4 3 2 1
    
    예상 출력
    Impossible