젤리 , 길이 17 (안전)
[^/P-`mvÇ-ıḃ-ṫ€]*
파이썬 정규식.
매듭을 조이면 더 유용한 것들이 금지됩니다. 여기에 도움이되는 것은 금지 된 바이트입니다.
/PQRSTUVWXYZ[\]^_`mvÇÐÑ×ØÞßæçðñ÷øþĊċĖėĠġİıḃḄḅḊḋḌḍḞḟḢḣḤḥḲḳḶḷṀṁṂṃṄṅṆṇṖṗṘṙṚṛṠṡṢṣṪṫ€
그중 1/3 이하!
4
광산 출력 의 입력 :
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
...로 목록 목록을 그리드로 형식화했기 때문입니다 G
.
해결책 :
’:2o1
Ḃ¬aẋ@0
’r0;0ẋ$ẋ1Ŀ¬0¦;2ĿÆ¡œ?⁸²¤s⁸G
온라인으로 사용해보십시오! / 정규식 101
여기서 주요 트릭은 자연수의 순열을 n 2 까지의 사전 순으로 정렬 된 목록으로 색인화하고 ( œ?
길이 n 2 ! 의 목록 작성을 피하기 위해 사용 ) 결과를 길이 n의 청크로 분할하는 것 입니다. 상기 언급 된 지수는 "미분 할"뱀이 규정 된 방식으로 요소를 치환함으로써 생성되기 때문에 공식적인 계승 수 시스템 에서 그 표현을 형성함으로써 발견된다 (이것은로 쉽게 숫자로 변환 될 수있다 Æ¡
).
내가 제시 한 솔루션은 Ŀ
이전 링크를 모나드 (바꾸기 Ñ
및 Ç
) 로 참조 하는 데 사용 되지만 $
이러한 도우미 기능을 "인라인"하기 위해 여러 행을 사용할 수 있습니다. 또한 사용 r
이후 Ḷ
및 R
금지된다.
’:2o1 - Link 1, periodic repetitions in the factorial base representation: n
’ - decrement n
:2 - integer divide by 2
o1 - or 1 (keep one period in the cases n=1 and n=2)
Ḃ¬aẋ@0 - Link 2, n zeros if n is even, else an empty list: n
Ḃ - mod 2
¬ - not
ẋ@0 - 0 repeated n times
a - and
’r0;0ẋ$ẋ1Ŀ¬0¦;2ĿÆ¡œ?⁸²¤s⁸G - Main link: n e.g. 6
’r0 - inclusive range(n-1, 0) [5,4,3,2,1,0]
0ẋ$ - 0 repeated n times [0,0,0,0,0,0]
; - concatenate (makes one "period") [5,4,3,2,1,0,0,0,0,0,0,0]
1Ŀ - call link 1 as a monad 2
ẋ - repeat list [5,4,3,2,1,0,0,0,0,0,0,0,5,4,3,2,1,0,0,0,0,0,0,0]
0¦ - apply to index 0 (rightmost index):
¬ - not (make the last 0 a 1) [5,4,3,2,1,0,0,0,0,0,0,0,5,4,3,2,1,0,0,0,0,0,0,1]
2Ŀ - call link 2 as a monad [0,0,0,0,0,0]
; - concatenate [5,4,3,2,1,0,0,0,0,0,0,0,5,4,3,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0]
Æ¡ - convert from factorial base 45461852049628918679695458739920
¤ - nilad followed by link(s) as a nilad
⁸ - left argument, n 6
² - square 36
œ? - lexicographical permutation lookup [1,2,3,4,5,6,12,11,10,9,8,7,13,14,15,16,17,18,24,23,22,21,20,19,25,26,27,28,29,30,36,35,34,33,32,31]
s⁸ - split into chunks of length n [[1,2,3,4,5,6],[12,11,10,9,8,7],[13,14,15,16,17,18],[24,23,22,21,20,19],[25,26,27,28,29,30],[36,35,34,33,32,31]]
G - format as a grid
.
.