파일 업로드

🎨AI 리소스 생성

프롬프트 없음

비밀 코드

profile
실행 시간 제한메모리 제한
1 초128 MB
📃 해결할 문제

국가정보요원 차두식은 비밀 메시지를 가지고 있습니다. 이 메시지는 최소 길이가 2이며, A에서 Z까지의 문자만 포함하는 문자열입니다.

메시지를 암호화하기 위해, 두식은 일련의 '연산'을 메시지에 적용합니다. 연산이 적용된 문자열 S는 먼저 S를 첫 글자 또는 마지막 글자를 제거하여 줄이고, 원본 문자열 S를 문자열의 시작 부분 또는 끝 부분에 추가합니다. 

예를 들어, 문자열 ABCD에 단일 연산을 적용하면 다음 네 가지 문자열 중 하나가 될 수 있습니다:

  • BCDABCD
  • ABCABCD
  • ABCDABC
  • ABCDBCD

최종적으로 암호화된 문자열이 주어지면, 원본 문자열에 대해 하나 이상의 연속된 연산을 반복 적용하여 이 문자열을 생성할 수 있는 가능한 방법의 수를 계산하십시오. 메시지 암호화 결과가 동일하더라도 작업들은 서로 다른 것으로 취급됩니다. 

예를 들어, AA에서 AAA를 얻기 위해 위의 네 가지 연산 중 어느 것을 사용하든 간에 네 가지 다른 방법이 있습니다.

💻 입력
  • 1번째 줄: 길이가 최대 100인 문자열.
🖨️ 출력
  • 1번째 줄 : 두식이 적어도 길이 2 이상의 어떤 원본 문자열에 연속적인 하나 이상의 작업을 적용하여 이 문자열을 생성할 수 있는 서로 다른 방법의 수. 만약 그러한 방법이 없다면, 0을 출력하십시오.

💻 예제 입력 1
ABABA
🖨️ 예제 출력 1
6

출처: USACO 2014 February Contest, Bronze Problem 3. Secret Code