배수 스위치
면접 대비시간 제한2초메모리 제한512 MB
Y/N으로 주어진 N개 전구를, 배수 위치를 뒤집는 스위치로 모두 끄는 최소 횟수를 구하고 불가능하면 -1을 출력한다.
문제
전구 개가 1번부터 번까지 번호를 달고 일렬로 놓여 있다. 각 전구는 켜져 있거나 꺼져 있다.
스위치도 1번부터 번까지 개가 있다. 번 스위치를 누르면 번호가 의 배수인 전구의 상태가 모두 반전된다. 켜져 있던 전구는 꺼지고, 꺼져 있던 전구는 켜진다. 같은 스위치를 여러 번 누를 수 있다.
전구의 현재 상태가 주어질 때, 모든 전구를 끄는 데 필요한 스위치 누름 횟수의 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 전구의 상태가 1번 전구부터 차례대로 주어진다. 켜져 있는 전구는 Y, 꺼져 있는 전구는 N으로 나타낸다.
전구의 개수 은 을 만족하는 자연수이다.
출력
모든 전구를 끄는 데 필요한 스위치 누름 횟수의 최솟값을 출력한다. 모든 전구를 끌 수 없다면 -1을 출력한다.