오늘날 푸림은 hamantaschen (단수 : hamantasch ) 이라는 충전재로 삼각형 모양의 쿠키를 제공하는 하나의 관습입니다 . 또 다른 관습은 많이 마시는 것입니다.
나는 가장 완벽한 빵 굽는 사람이 아닙니다 .... 나는 불규칙한 크기의 hamantaschen을 줄 사람이 많고 친구들이 줄 것입니다! 쿠키 사진을 보냈다면 어떤 크기와 충전재를 몇 개나 가지고 있는지 알려 주실 수 있습니까? 그러나 Purim이고 많은 코드를 읽기에는 너무 취 했으므로 가능한 한 작은 코드 여야합니다.
정의
크기
hamantasch는 모든 크기 가 될 수 있습니다 . 가장 작은 hamantasch는 크기 1이며 다음과 같습니다.
/\ --
-- \/
때때로 여러 hamantaschen이 겹칠 수 있습니다 . 아래 모양은 2 개의 hamantaschen (1 크기 1, 1 크기 2)으로 계산됩니다.
/\
/\ \
----
일부 hamantaschen이 작성했습니다 . 이것은 모든 공백을 문자로 채워서 표시됩니다. 크기 1 hamantaschen은 충전물을 가질 수 없습니다.
우리는 채우고 크기에 따라 hamantaschen 을 이름을 지정할 것 입니다. 형식을 사용하고 <filling> <size>
채워지지 않은 경우 - <size>
(대신 공백을 사용할 수 -
있지만 마크 다운은 마음에 들지 않습니다)를 사용하십시오.
다음은 a . 2
, a . 4
및 a입니다 - 3
.
/\
/./\
---- /./ \
\../ /./ \
\/ --------
이들은 a @ 3
, a . 2
및 a입니다 - 4
.
/\
/ /\
/\ / /@@\
/..\ / /@@@@\
---- --------
여기 더 어려운 것이 있습니다. & 2
겹친 경사로 인해 예상보다 적은 양의 충전재가 어떻게 나타나는지 확인하십시오 - 3
. a - 1
, & 2
a - 3
및 a가 있습니다 & 4
.
--------
\ \/&/
\ /\/
\/&/
\/
입력
텍스트 파일 또는 단일 문자열 hamantaschen이 제공됩니다 (선택적 후행 줄 바꿈 및 선택적으로 채워진 후행 공백은 짝수).
제한
- 문자열이 유효 할 것으로 예상 할 수 있습니다. 즉, 공백이 아닌 모든 문자는 맛있고 달콤한 hamantasch (왜 반죽을 낭비합니까?)에 기여합니다.
- 당신은 또한 할 것으로 예상 할 수있다 적절하게 채워 즉, 각이 완전히 일치하는 ASCII 문자로 채워집니다 hamantasch - - 채워지지에 대한 ASCII (32), 또는 작성 (제외 아무것도 32..127 여부
/
,\
등을-
). - 이 hamantaschen은 3 칸으로 쌓이지 않습니다 . 모든
/
과가\
표시됩니다. 모든-
의해 차단되지 않은/
및\
표시됩니다. 필링은 매우 마지막에 온다. - 모든 hamantaschen은 수평선의 반 이상 (반올림)을 볼 수 있습니다.
- 연속적인 채우기 블록은 그것을 둘러싸고 있는 가장 작은 hamantasch 만 채 웁니다 .
산출
위의 기준을 충족하는 모든 hamantaschen의 "이름"목록을 반환하십시오. 출력은 원하는 형식 (문자열, 해시, stdout 등)이 될 수 있습니다.
테스트 사례
테스트 사례 # 1
입력 # 1 :
/\
/ /\
/\ / /@@\
/..\ / /@@@@\
---- --------
/\
/**\
/*/\*\
/*/..\*\
--------
출력 # 1 :
. 2
. 2
- 4
@ 3
* 4
테스트 사례 # 2
입력 # 2 :
/\----
/\/\*\/
/ /\d\/
------
출력 # 2 :
- 3
- 2
d 2
- 1
* 2
- 1
테스트 # 3
입력 # 3 :
----
\/\/
/\/\ /\
---- /::\
----
출력 # 3 :
- 1
- 1
- 2
- 1
- 1
- 2
: 2
테스트 # 4
입력 # 4 :
/\/\
/ /\$\
-/--/\\
--/--\
/xxx/\
/xxx/##\
---/----\
/ \
--------
출력 # 4 :
$ 2
x 4
- 3
- 2
- 4
- 1
- 1
# 2
잘못된 테스트 사례 # 5
입력:
/\
\/
산출:
이것을 처리 할 필요는 없습니다.
/
하고 \
, 그리고 -
비장의 충전 항상 것입니다.
(1,0)
이에 의해 해제됩니다 +1
. 아직도, 나는 당신이 무슨 뜻인지 알고 동의합니다. 두 상단 상단 의 오른쪽 상단과 왼쪽 상단이 아니라 (2, 2)
a의 상단 중앙에 어떤 표시가 있습니까? 내가 볼 수있는 것은 없습니다. 같은 논리가에 적용됩니다 . 가능한 최대 hamantaschen을 가정하는 규칙을 추가하지 않는 한 ...- 2
- 1
(3, 2)