서로 구별되는 버튼 개가 있는 자물쇠가 있다. 개 중 서로 다른 개의 버튼을 순서대로 누르면 자물쇠가 열린다.
자물쇠가 잠긴 상태에서 제대로 된 순서로 버튼을 누르면 버튼에 불이 들어와서 제대로 눌렀음을 알려 준다. 하지만, 한 번이라도 제대로 누르지 않으면 모든 불이 꺼지고 자물쇠는 리셋되어 잠긴 상태로 돌아간다.
자물쇠를 푸는 사람이 모든 것을 완벽히 기억하며 최선의 방법을 사용한다고 가정하자. 최선의 방법을 사용함에도 불구하고 버튼을 최대 몇 번까지 눌러야 자물쇠를 열 수 있는지 계산하는 프로그램을 작성하라.
첫 줄에 두 정수 과 가 공백으로 구분되어 주어진다. ()
첫 줄에 버튼을 눌러야 하는 횟수를 출력한다.
4 2
9
첫 번째로 눌러야 하는 버튼을 알아내는 데 최악의 경우 번을 눌러야 한다. 여기서, 두 번째로 눌러야 하는 버튼을 알아내기 위해서는, 매번 첫 번째 버튼을 다시 눌러야 한다는 점을 고려하면, 번의 누르기가 추가로 필요하다. 따라서 이 경우의 답은 이다.
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 30점
종류 2: 20점
종류 3: 33점
종류 4: 17점
모든 입력 케이스가 주어짐.