페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#3025

맛있는 팬케이크 1s 64MB

문제

팬케이크 가게에서는 새로운 종류의 팬케이크를 만들었다. 한 면("행복한 면")에는 초코칩으로 만들어진 행복한 얼굴을 가지고 있고, 다른 면에는 아무것도 ("빈 면") 없다.

 

당신은 수석 요리사이다. 팬케이크는 뜨거운 표면 위에 한 줄로 만들어진다. 가게에서는 효율성 극대화하기 위해 K개의 연속한 팬케이크를 뒤집는 대형 뒤집게를 제공했다. 즉, K개의 팬케이크를 행복한 면의 팬케이크는 빈 면의 팬케이크로 바꾸고, 빈 면의 팬케이크는 행복한 면으로 바꾼다. 단, 팬케이크의 왼쪽에서 오른쪽 순서는 바뀌지 않는다.대형 뒤집게를 사용하여 한 번에 K 개보다 적은 팬케이크를 뒤집을 수 없다. 예를 들어, 첫 번째부터 K 번째까지 팬케이크를 뒤집을 수 있지만 첫 번째부터 (K - 1)번째까지 팬케이크는 뒤집을 수 없다.

 

팬케이크의 현재 상태에서 모든 팬케이크를 행복한 면으로 만드려면 필요한 대형 팬케이크 뒤집게의 최소 사용 횟수를 구하라. 

 


입력

한 줄은 스트링 S와 정수 K로 구성 되어있다. 스트링 S는 + ( 행복한 면 ) 또는 – ( 빈 면 ) 로 나타낸다.

출력

팬케이크를 모두 행복한 면으로 만들 수 있다면 최소 횟수를 출력하고,그렇지 않다면 IMPOSSIBLE을 출력하시오. < 제약조건 > 2 ≤ K ≤ S의 길이. Small dataset : 2 ≤ S의 길이 ≤ 10. Large dataset : 2 ≤ S의 길이 ≤ 1000.

예제 #1

---+-++- 3
3

예제 #2

-+-+- 4
IMPOSSIBLE

출처

codejam2017
로그인해야 코드를 작성할 수 있어요.