지그재그 수열
시간 제한1초메모리 제한1024 MB
인접한 두 원소를 골라 둘의 XOR로 바꾸는 연산을 최소 횟수로 적용해 수열을 지그재그 수열로 만드는 문제이다.
문제
길이 의 수열 이 지그재그 수열이라는 것은 다음 두 조건 중 하나를 만족하는 것이다.
- 모든 에 대해, 가 짝수이면 이고 가 홀수이면
- 모든 에 대해, 가 짝수이면 이고 가 홀수이면
길이가 인 모든 수열은 지그재그 수열이다.
길이 의 수열 가 주어진다. 당신은 한 연산에서 수열 에서 인접한 두 원소 와 을 골라 두 수를 수열에서 제거한 후, 그 자리에 두 수의 XOR을 넣을 수 있다.
를 지그재그 수열로 만들기 위한 최소 연산 횟수를 출력하라.
입력
첫째 줄에 이 주어진다.
둘째 줄에 이 공백으로 구분되어 주어진다.
출력
첫째 줄에 를 지그재그 수열로 만들기 위한 최소 연산 횟수를 출력한다.
힌트
두 수의 XOR 연산은, 두 수를 이진수로 나타냈을 때 각 비트 자리에서 서로 다르면 , 같으면 이 되는 비트 연산이다. 예를 들어, 과 를 이진수로 나타내면 각각 , 이 되고, 두 수를 XOR한 값은 으로 가 된다.