페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
30000
ms
메모리 제한
1024
MB
여러분이 사는 도시 Kickstartland에는 채의 집이 있는 유난히 긴 거리 하나가 있다. 이 거리의 길이는 이며, 채의 집은 거리를 따라 균등하게 배치되어 있다. 즉, 첫 번째 집은 위치 에, 두 번째 집은 위치 에 있으며, 이런 식으로 이어진다. 임의의 두 집 와 사이의 거리는 이며, 여기서 는 의 절댓값을 나타낸다.
이 집들 중 일부는 집 앞에 쓰레기통이 있다. 이는 그런 집의 주인들은 쓰레기를 버리려고 할 때 걸을 필요가 없다는 뜻이다. 하지만 집 앞에 쓰레기통이 없는 집의 주인들은 자신의 집에서 왼쪽이나 오른쪽 방향에 있는, 집 앞에 쓰레기통이 있는 어떤 집까지 걸어가야 한다.
시간을 절약하기 위해 모든 집주인은 항상 자신의 집에서 가장 가까운 쓰레기통에 쓰레기를 버린다. 어떤 집에서 가장 가까운 쓰레기통이 두 개라면, 그 집주인은 그중 어느 곳으로든 걸어갈 수 있다.
집의 수 와 이 집들 중 어느 집 앞에 쓰레기통이 있는지에 대한 설명이 주어질 때, 각 집주인이 쓰레기를 버리기 위해 걸어야 하는 거리의 합을 구한다. 적어도 한 집 앞에는 쓰레기통이 있다고 가정해도 된다.
시간 제한: 20초. 메모리 제한: 1 GB. . 의 길이는 와 같다. 의 각 문자는 또는 이다. 에는 문자 이 적어도 하나 있다.
.
.
입력의 첫 번째 줄에는 테스트 케이스의 수 가 주어진다. 이어서 개의 테스트 케이스가 주어진다. 각 테스트 케이스는 두 줄로 이루어진다.
각 테스트 케이스의 첫 번째 줄에는 거리에 있는 집의 수를 나타내는 정수 이 주어진다.
각 테스트 케이스의 두 번째 줄에는 어느 집 앞에 쓰레기통이 있는지를 나타내는 길이 의 문자열 가 주어진다. 문자열 의 번째 문자가 과 같다면, 이는 번째 집 앞에 쓰레기통이 있다는 뜻이다. 그렇지 않고 그 문자가 와 같다면, 이는 번째 집 앞에 쓰레기통이 없다는 뜻이다.
각 테스트 케이스마다 Case #$x$: $y$을 포함하는 한 줄을 출력한다. 여기서 은 테스트 케이스 번호이며(1부터 시작한다), 은 각 집주인이 쓰레기를 버리기 위해 걸어야 하는 거리의 합이다.
2
3
111
6
100100
Case #1: 0
Case #2: 5
첫 번째 테스트 케이스에서는 모든 집 앞에 쓰레기통이 있으므로 어떤 집주인도 쓰레기를 버리기 위해 걸을 필요가 없다.
두 번째 테스트 케이스에서는 첫 번째 집과 네 번째 집의 주인 집 앞에 쓰레기통이 있으므로 이들은 걸을 필요가 없다. 두 번째 집의 주인은 첫 번째 집을 향해 걸으며, 거리는 와 같다. 세 번째, 다섯 번째, 여섯 번째 집의 주인은 네 번째 집을 향해 걸으며, 거리는 각각 , , 와 같다.
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.