FOCUS

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

요약
8개의 키에 대한 교환 명령 수열과 목표 키가 주어질 때, 유효한 교환을 모두 적용한 뒤 목표 키가 최종적으로 놓인 점의 번호를 구한다.
난이도

쉬움10점 중 3점

유형
구현, 시뮬레이션, 비트 연산
정답자
아직 제출이 없습니다

문제

한 공장에서 인공지능 로봇이 오작동을 일으켜 폭주하고 있다. 로봇의 작동을 멈추기 위해서는 주어진 88개의 키 중 어느 것이 로봇을 정지시키는 키인지 찾아야 한다. 그러나 로봇이 그 키마저도 섞기 시작했다. 섞는 속도가 매우 빨라 인간의 시력으로는 키의 움직임을 추적할 수 없다. 다행히 당신은 로봇이 키를 섞는 데 사용하는 알고리즘과 로봇을 정지시키는 키의 처음 위치를 알고 있다.

각 키에는 00번부터 77번까지의 번호가 매겨져 있고, 이들은 각각 서로 다른 점 P_0,P_1,⋯ ,P_7P\_0, P\_1, \cdots, P\_7 위에 놓여 있다. 로봇은 미리 주어진 길이 NN의 수열을 하나씩 순서대로 읽으며 키를 섞는다. 이때 ii번 키와 jj번 키(i<j)(i < j)의 위치를 바꾸는 명령은 정수 2i+2j2^i + 2^j로 인코딩된다. ii번 키와 jj번 키의 위치를 바꾼다는 것은, ii번 키가 점 P_kP\_k에 놓여 있고 jj번 키가 점 P_lP\_l에 놓여 있을 때 ii번 키를 점 P_lP\_l 위치로 옮기고 jj번 키를 점 P_kP\_k 위치로 옮긴다는 것이다.

로봇이 읽는 수열 안에는 유효하지 않은 명령도 존재할 수 있다. 유효하지 않은 명령 xx는 어떤 두 정수 i,j(0≤i<j≤7)i, j(0 \leq i < j \leq 7)에 대해서도 x=2i+2jx = 2^i + 2^j를 만족시키지 않는 명령이다. 로봇이 유효하지 않은 명령을 인식하면 그 명령을 무시하고 다음 명령으로 넘어간다.

로봇을 정지시키는 키의 번호와 명령들의 수열이 주어지면, 로봇을 정지시키는 키는 P_0,P_1,⋯ ,P_7P\_0, P\_1, \cdots, P\_7 중 몇 번 점에 위치하는지 구하시오.

입력

첫째 줄에 로봇이 읽는 명령들의 수열의 길이 NN이 주어진다. (1≤N≤200,0001 \leq N \leq 200\\,000)

둘째 줄에 로봇이 읽는 명령들의 수열 a_1,a_2,⋯ ,a_Na\_1, a\_2, \cdots, a\_N이 공백으로 구분되어 주어진다. (0≤a_i<256=280 \leq a\_i < 256=2^8)

셋째 줄에 로봇을 정지시키는 키의 번호 KK가 주어진다. (0≤K≤70 \leq K \leq 7)

출력

로봇을 정지시키는 키가 점 P_tP\_t (0≤t≤7)(0 \leq t \leq 7) 위에 존재할 때, tt의 값을 출력한다.

예제3

  1. 예제 1

    입력
    7
    130 72 130 17 96 66 6
    5
    
    예상 출력
    3
    
  2. 예제 2

    입력
    7
    20 7 68 9 144 156 40
    6
    
    예상 출력
    4
    
  3. 예제 3

    입력
    7
    111 49 235 228 172 77 151
    2
    
    예상 출력
    2