다음 조건이 충족되면 비어 있지 않은 문자열 목록을 메사 라고하겠습니다 .
- 나열된 각 문자열은 비어 있지 않으며 첫 번째 문자열에서 발생하는 문자 만 사용합니다.
- 연속되는 각 문자열은 이전 문자열보다 정확히 한 문자 더 깁니다.
- 목록에있는 문자열은 목록 에있는 다른 문자열 의 하위 시퀀스 가 아닙니다 .
"메사"라는 용어는 다음과 같이 시각화하는 것입니다 ( xs는 다양한 문자이어야 함).
xx..x
xx..xx
xx..xxx
.
.
.
xx..xxx..x
주의 : 그것은 오직 많은 수의 메사 만이 주어진 문자열로 시작한다는 수학적 사실입니다. 하위 시퀀스 와 하위 문자열 의 차이점에 유의하십시오 . 예를 들어, 'anna'은 'banana'의 하위 시퀀스 (하위 문자열이 아님)입니다.
도전:
- 비어 있지 않은 임의의 영숫자 입력 문자열을 사용하고 해당 문자열로 시작하는 메사 수를 출력하는 가장 짧은 프로그램을 작성하십시오.
입력 (stdin) :
- 비어 있지 않은 영숫자 문자열
출력 (stdout) :
- 입력 문자열로 시작하는 메사 수입니다.
채점 :
- 승자는 바이트 수가 가장 적은 프로그램입니다.
메사 예제
하나의 메사 만 시작합니다 a:
a
하나의 메사 만 시작합니다 aa:
aa
많은 메사로 시작 ab:
ab ab ab ab (and so on)
baa aaa bbb
bbba bbaa
baaaa
aaaaaa
@mellamokb-전혀 다른 점이 있다면 다른 메사입니다. 예를 들면,
—
res
ab, ab/baa, ab/bbb, ab/bbb/bbaa, ab/bbb/bbaa/baaaa, ab/bbb/bbaa/baaaa/aaaaaa다른 암석이다.
@mellamokb-당신은 다른 좋은 질문을 제기합니다; 예를 들어, 주어진 문자열로 시작하는 최대 길이 메사 수와 최대 길이는 얼마 입니까? 이 질문의 다른 버전은 주어진 크기의 알파벳을 수정하고 (알파벳 크기는 입력이 될 것입니다) 주어진 알파벳의 문자 만 사용하는 모든 메사 (조건 # 1없이 정의 됨)를 고려할 것입니다.
—
res
ab,bbb단지 두 번째 항에서 정지하여 메사한다. 유효합니까? 아니면 항상 가능한 길게 만들어야합니까? 또한, 여러 가능한 재 배열이있는 경우입니다nth(같은 용어는baa,aba,aab) 그들은 (물론 그들은 모든 규칙을 따르의 제공)뿐만 아니라, 별도의 암석 모든 계산합니까?