제 숙제는 729 단어와 810 단어 사이 의 화성 에세이 (아래 참조) 를 작성하는 것 입니다. 당신의 임무는 에세이를 생성 할 프로그램을 작성하는 것입니다.
역사
20 세기 초, 영적 주의자 캐서린 엘리스 ül 러는 화성인들과 의사 소통을했다. somnambulatory 트랜스 동안 그녀는 화성 대본을 쓸 것입니다. 심리학자 테오도르 플로 니 (Téodore Flourney)는 화성의 글이 그녀의 모국어 프랑스어와 매우 유사하다는 것을 발견했으며 그의 책 "인도에서 행성 화성까지"에서 캐서린의 화성 알파벳을 기록했습니다.
다음은되고 느슨하게 확장 신화와 그 알파벳에 따라.
문제 설명
화 성어에는 21 개의 문자가 있으며 각 라틴어 옆에 다음과 같이 표시됩니다.
불행히도 화성의 유니 코드는 없지만 (화성은 우주의 일부 임에도 불구하고) 라틴 문자를 사용합니다.
영어에서 음소는 두 가지 주요 유형 (자음 / 모음)으로 나뉘며, 문자에 느슨하게 매핑됩니다. Martian에는 세 가지 유형의 문자가 있습니다.
- 모음 : aeimnou
- 딱딱한 자음 : bcdgkpt
- 부드러운 자음 : fhlrsvz
이 외에도 화 성어에는 구두점 (마침표)이 포함되어 있습니다.
화성 단어는 3 ~ 9 문자의 집합입니다. 모든 화 성어 단어에는 모음, 모음, 강자 음, 연 자음이 있습니다 (어떤 배열이든). 예를 들어, fng, cdaz, vpi, 그리고 pascal화성의 단어입니다.
화성 문장 3~9 화성 단어 구역으로 구분하고, 다음주기의 세트이다.
화성 단락 3~9 화성 문장 공간으로 구분하고 개행 다음의 집합이다.
화성 에세이는 어떤 연속 단어의 반복을 포함하지 않는 화성 단락의 모음입니다.
인접한 워드 반복 S 단어의 연속 집합 인 모든 구성체 SS이다. 이 정의는 문장과 단락 경계를 무시합니다.
예
참고 : 각 예에는 하나의 후행 줄 바꿈이 있습니다 (모든 Martian 단락이 줄 바꿈으로 끝나기 때문에)
화성 에세이가 아님
lorem ipsum dolor 앉아 있습니다. quis nostrud exercitation ullamco laboris.
...여러 가지 이유로. 이 예는 몇 가지 기타 규칙을 설명하기위한 것입니다.
- lorem은 단단한 자음이 없기 때문에 화성의 단어가 아닙니다.
- amet은 부드러운 자음이 없기 때문에 화성의 단어가 아닙니다. (
m화성 모음입니다). - quis는 화성 어가 아니기 때문에 단단한 자음이 없기 때문에
- q는 화성 문자가 아니기 때문에 quis는 화성 어가 아닙니다.
- exercitation은 9 개 이상의 글자를 가지고 있기 때문에 화성의 단어가 아닙니다
- x는 화성 문자가 아니기 때문에 운동은 화성 어가 아닙니다
화성 에세이
fng cdaz vpi. 파스칼 파산 기본. popplers는 맛이 좋습니다.
... 화성 문단이기 때문입니다. 화성 단락에는 세 개의 화성 문장이 있습니다.
화성 에세이가 아님
fng cdaz vpi. 파스칼 파산 기본. 무료 파스칼 규칙.
... 이후 free pascal rules.둘 때문에, 화성 문장하지 free않고 rules화성의 말 없다가 하드 자음이 없기 때문에.
화성 에세이
fng cdaz vpi. 파스칼 파산 기본. popplers는 맛이 좋습니다. cdaz vpi fng. 기본 파스칼. popplers는 열심히 펀치. fng cdaz vpi.
두 개의 화성 단락이 포함되어 있습니다. 문장 fng cdaz vpi.이 두 번 나타나지만 완벽합니다.
화성 에세이가 아님
popplers는 fng를 맛 본다. cdaz vpi 파스칼. fng cdaz vpi를 끊었습니다. 파스칼은 오 미크론 행성을 무너 뜨 렸습니다. 기본은 염소를 두려워합니다. vpi piv vpi.
... 구문 fng. cdaz vpi pascal. broke fng cdaz vpi. [nl] pascal broke이 연속적인 단어 반복 이기 때문에 .
도전
당신의 도전은 입력을받지 않는 함수 나 프로그램을 작성하는 것입니다. 즉, 프로그램은 729 ~ 810 단어 (포함) 사이 의 화성 에세이 를 생성해야합니다 . 프로그램의 출력은 유효한 화성 에세이 여야하지만 매번 무작위로 또는 다르게 생성 할 필요는 없습니다. 유효한 화성 에세이를 생성하기 위해하는 모든 것 .
나는 한 에세이를 확인하는 C ++ 프로그램을 작성 당신이 사용할 수있는 것으로합니다.
이것은 코드 골프입니다. 바이트 단위의 최단 코드가 이깁니다. 표준 허점은 허용되지 않습니다.
