전등 끄기
시간 제한2초메모리 제한256 MB
각 시작 위치 p마다 모든 전구를 끄는 최소 이동 횟수를 구합니다. 그다음 p와 그 횟수를 곱해 모두 더한 값을 10^9+7로 나눈 나머지로 출력합니다.
문제
직선 위에 개의 전등이 놓여 있고, 왼쪽에서 오른쪽으로 번부터 번까지 번호가 매겨져 있다. 처음에는 일부 전등이 켜져 있다. 치아키는 모든 전등을 끄려고 한다.
치아키는 번 전등에서 출발한다. 한 번의 동작에서 왼쪽이나 오른쪽으로 한 칸 이동한 뒤, 그 위치 전등의 스위치를 누른다. 스위치를 누르면 켜져 있던 전등은 꺼지고, 꺼져 있던 전등은 켜진다.
각 에 대해, 모든 전등을 끄는 데 필요한 최소 동작 횟수를 구하라.
입력
첫 줄에 테스트 케이스의 수 가 주어진다. 각 테스트 케이스는 다음과 같다.
첫 줄에 전등의 개수 ()이 주어진다.
둘째 줄에 이진 문자열 가 주어진다. 이면 번 전등이 켜져 있고, 이면 꺼져 있다.
모든 테스트 케이스의 을 합한 값은 을 넘지 않는다.
출력
각 테스트 케이스에 대해 을 출력한다. 여기서 는 치아키가 번 전등에서 출발할 때 필요한 최소 동작 횟수이다.