GWEB์ Go๋ฅผ ์ํ ๋ฌธํ์ ํ๋ก๊ทธ๋๋ฐ ์์คํ
์ด๋ค.
ํฌ๋์ค์ ๋ ๋น์ CWEB์ ๊ฐ๊น์ด ๋ณธ๋ด๋ค. ํ์ฅ์ .w ํ์ผ ํ๋์ TeX ์ฐ๋ฌธ๊ณผ Go
์ฝ๋๋ฅผ ์ฎ์ด ๋๋ฉด, ๋๊ตฌ ๋์ด ๊ทธ๊ฒ์ ์๋ก ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ์ฝ๋๋ค. ๋๊ตฌ gtangle์
๊ธฐ๊ณ๊ฐ ์ฝ์ .go๋ฅผ ๋ฝ์๋ด๊ณ , gweave๋ ์ฌ๋์ด ์ฝ์ ์ํธ ์ฐธ์กฐ ๋ฌธ์๋ฅผ ์กฐํํ๋ค.
ํ๋ก๊ทธ๋จ๊ณผ ๊ทธ๊ฒ์ ์ค๋ช
ํ๋ ๊ธ์ ๋ฐ๋ก ๋ง์ถฐ ๋๋ ๋ ์ฐ์ถ๋ฌผ์ด ์๋๋ค. ํ๋์
ํ์ผ์ด๋ค.
์ด ์ ์ฅ์๋ ๊ทธ๋ ๊ฒ ์ด ํ๋ก๊ทธ๋จ์ ๋ชจ์ ๊ฒ์ด๋ค. ๋ฒ์๋ ์ผ๋ถ๋ฌ ๋๊ฒ ์ก์๋ค. ํฌ๋์ค์ CWEB ํ๋ก๊ทธ๋จ์ ์ฎ๊ธด ๊ฒ์ด ๊ฐ์ฅ ๋ง๊ณ , ์์ ๋ ๋งํ ์๊ณ ๋ฆฌ์ฆ์ ํด์ค(์งํธ๋ฆฌ, FFT, ๋ฆฌ์ฐจ์ค ํธ๋ฆฌ, CDQ ๋ถํ ์ ๋ณต)์ด ์๊ณ , ํฐ๋ฏธ๋ ์๋ช ๊ฒ์์ด๋ ๊ธฐํ ํ๋์ฒ๋ผ ๊ทธ ์์ฒด๋ก ๋์๊ฐ๋ ํ๋ก๊ทธ๋จ๋ ์๋ค. ๋ฌธ์๋ ๋ชจ๋ ํ๊ธ๋ก ์ผ๋ค.
์ด๊ฒ๋ค์ GWEB์ ์ค์ ๋ก ์ฐ๋ฉด ์ด๋ค ๋ชจ์ต์ธ์ง ๋ณด์ด๋ ค๊ณ ์๊ณ , ๋ฐ๋ผ๊ฑด๋ ๊ทธ ์์ฒด๋ก๋
์ฝ์ ๋งํ๋ ค๊ณ ์๋ค. ํ์ผ .w๊ฐ ์ง ๋ด๋ PDF๋ถํฐ ๋ณด๊ธฐ๋ฅผ ๊ถํ๋ค. ๊ทธ์ชฝ์ด ์ฌ๋์
๋์ ์ํ ๋ฉด์ด๋ค.
Makefile์ ์์ ๋ฅผ ์ด๋ฆ(.w์ ๊ธฐ๋ณธ ์ด๋ฆ)์ผ๋ก ๋น๋ํ๋ค.
make ziptree # ziptree.w -> ziptree.go (+ @( ) ๋ก ๋ฝ๋ ํ์ผ๋ค) + ziptree.pdf
make # ์ฌ์ฉ๋ฒ ๋ณด๊ธฐ
make clean # .w/.ch ์๋ณธ๋ง ๋จ๊ธฐ๊ณ ์์ฑ๋ฌผ ์ญ์ ์์ ๋ ํ ๋ฒ์ ํ๋์ฉ ๋น๋ํ๋ค(make all์ ์๋ค). ์ง ๋ธ .go๋ ๊ฑฐ์ ๋ชจ๋
์ ๋ง๋ค main()์ ๊ฐ์ง package main์ด๋ผ, ํ ๋๋ ํฐ๋ฆฌ์ ํ๊บผ๋ฒ์ ํ๋ฉด Go๊ฐ
main ์ค๋ณต์ผ๋ก ์ปดํ์ผ์ ๊ฑฐ๋ถํ๋ค.
์กฐํ์ ๊ทธ๋ฆผ์ด ์๋ ์๋ ๋ชจ๋ luatex์ผ๋ก ํ๋ค. ํ๊ธ ๋ฌธ์(\input kotexgweb.tex, ์๋ ์ฐธ์กฐ)์ ๊ทธ๋ฆผ ์๋ ๋ฌธ์(\input luamplib.sty)๊ฐ luatex์
์๊ตฌํ๊ณ , ์ฌ๊ธฐ ์๋ ๋ฌธ์๋ ๋ชจ๋ ๊ทธ ๋ ๊ฐ์ด๋ฐ ํ๋๋ค.
๊ทธ๋ฆผ์๋ ๋ฐ๋ก ๋น๋ ๋จ๊ณ๊ฐ ํ์ ์๋ค. luamplib์ด ๋ฌธ์๋ฅผ ์กฐํํ๋ ๋์
MetaPost๋ฅผ ๊ทธ ์๋ฆฌ์์ ๋๋ฆฐ๋ค. ๋ฐ๋ก ๋๋ mpost ๋จ๊ณ๋, ์ค๊ฐ PDF๋ ์๊ณ , ๊ทธ๋ฆผ์
๋ผ๋ฒจ์ ๋ฌธ์ ์์ ์ ๊ธ๊ผด๋ก ์ง์ธ๋ค. MetaPost๋ ๋ช ์ฅ์ด๋ .w ์์ ๊ทธ๋๋ก ๋ด๋๋ค.
๋จ์ .mp๋ ๋ท๋ฟ์ด๊ณ ์ ๋ง๋ค ๊น๋ญ์ด ์๋ค. tarjan-strong.mp์ wordcube.mp๋
๋ฌธ์ ๋์ด ๋๋ ์ฐ๋ ๋์ฐ๋ฏธ์ด๊ณ , hyperbolic-arcs.mp๋ hyperbolic.w์ ํ๋ก๊ทธ๋จ์ด
๋ฑ๋ ์ขํ์ด๋ฉฐ, skew-ternary/skew-ternary-calc.mp๋ ํฌ๋์ค๊ฐ ๋ฐํํ ํ์ผ์ ๊ณ ์น
๊ฒ์ด๋ผ ์๋ณธ๊ณผ ํ ์ค์ฉ ๊ฒฌ์ค ์ ์๊ฒ ๊ทธ๋๋ก ๋์๋ค. ๋ชจ๋
\everymplib{input <์ด๋ฆ>;}์ผ๋ก ์ฝ์ด๋ค์ธ๋ค.
์ถ์ ํ๋ ๊ฒ์ ์๋ณธ๊ณผ ์๋ฃ๋ฟ์ด๋ค. ์๋ณธ์ .w/.ch ํ๋ก๊ทธ๋จ๊ณผ ๋จ์ MetaPost
ํ์ผ(*.mp)์ด๊ณ , ์๋ฃ๋ wordcube.w์ word-cube-dlx.w๊ฐ ์ฝ๋ ๋ฑ๋ง ๋ชฉ๋ก
sgb-words.txt, ๊ทธ๋ฆฌ๊ณ enigmatic-puzzle.w๊ฐ 5-๊ทธ๋จ ๊ณ์์ ์ฐ๋ ํฌ๋์ค์ ์๋ฌธ
VOL1TEXT.txt๋ค. ์ฌ๊ธฐ ์๋ .go์ PDF๋ ๋ชจ๋ ์์ฑ๋ฌผ์ด๋, ๋น๋ํ๊ธฐ ์ ์๋ ์๋ค.
๋ชฉ๋ก์ ์๋ types.w๋ ์์ ๊ฐ ์๋๋ผ ๋ชจ๋ ๋ฌธ์๊ฐ @i๋ก ์ฝ์ด๋ค์ด๋ ๊ณต์ฉ ํฌํจ
ํ์ผ์ด๋ค. @d์ @s ์ง์์๋ง ๋ค์ด ์์ด ํผ์์๋ tangle ํ ๊ฒ์ด ์๋ค.
์๋ ๋ชฉ๋ก์์ .w๊ฐ ์๋๋ผ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํค๋ ํญ๋ชฉ์ ์ ๋ง๋ค README.md,
Makefile, go.mod๋ฅผ ๊ฐ์ถ ๋ณ๊ฐ์ ํ๋ก์ ํธ๋ค. ์ด ์ ์ฅ์์ Makefile์ ๊ทธ ์์ผ๋ก
๋ค์ด๊ฐ์ง ์์ผ๋, ๊ทธ๊ฒ๋ค์ ์์์ ๋น๋ํ๋ค(cd life-game && make).
-
15puzzle-korf1.w โ 15 ํผ์ฆ์
์ต์ ์ ํ์ด๋ฅผ ์ฝ๋ฅดํ์ ๋ฐ๋ณต ๊น์ด ์ฆ๊ฐ๋ก ์ฐพ๋๋ค. ๋งจํดํผ ํํ์ ์จ์ ๋จผ์
"ํ๋ณตํ" ์๋ง์ผ๋ก ํด ๋ณด๊ณ , ์ ๋๋ฉด "์ฌํ" ์๋ฅผ ํ๋์ฉ ๋๋ ค ๊ฐ๋ค. ์์ชฝ ๋ฐ๋ณต๋ฌธ์
์์ผ๋ก ํผ์น ๊ฒฝ์ฐ 152๊ฐ์ง
(r,c,d,p)์ ์ ํ ์ํ ์คํ ๋งํค์ด๋ค. ๋น์นธ์ด(r,c)์ ์๊ณ , ๋ฐฉํฅp์์ ๋ค์ด์์ผ๋ฉฐ, ์ด์ d๋ก ๊ฐ ๋ณธ๋ค๋ ๋ป์ด๊ณ , ๊ฒฝ์ฐ๋ค์goto๋ก ์ด์ด์ง๋ฉฐ ๋์ง์ด ๊ฐ ๊ณณ์ ๋ถํธ๋ฅผ ์๋ ์คํ์ด ๊ธฐ์ตํ๋ค. Go๋case๋ธ๋ก ์์ผ๋ก ๋ฐ์ด๋ค ์ ์์ผ๋ฏ๋ก, ์ด๋ฆํ 152๊ฐ๋ฅผ ํ ๋ธ๋ก์ ๋๋ํ ๋๊ณswitch๋ ๋ถ๊ธฐ๋ง ํ๋ค. ๋ถํธ๋ 16์ง์0xrcdp๋ผ์ ๋ถ๊ธฐํ์ ์ด๋ฆํ๋ฅผ ๋์ผ๋ก ๋ฐ๋ก ๋ง๋์ด ๋ณผ ์ ์๋ค. ์ ์ด 152๊ฐ์ง๋ฅผ ๋ชจ๋ ๊ธฐ๊ณ๋ก ํฌ๋์ค์ ์๋ฌธ๊ณผ ๋ง์ถฐ ๋ณด์๊ณ , ํ๋ฆฐ ๊ฒ์ ํ๋๋ ์์๋ค. ๊ฒฐํจ์ ํ๋, ์ฒ์ ๋ฐฐ์น๊ฐ ์ด๋ฏธ ๋ชฉํ์ผ ๋ 1970๋ ๋ถํฐ์ ์ด๋ฅผ ์ฐ๋ ๊ฒ์ด๋ค. ๋ฐฐ์น 1800๊ฐ์์ Cํ๊ณผ ์ถ๋ ฅ์ด ๋ฐ์ดํธ๊น์ง ๊ฐ๊ณ , ํ์ด๋ ํ ๊ฑธ์์ฉ ๊ฒ์ฌํ๋ค. ์ฒ์ ์ฎ๊ธด Goํ์ C๋ณด๋ค 25% ๋๋ ธ๋ค. ๊ฒฝ์ฐ 152๊ฐ์ง๋ฅผ ๋ชจ๋ ํ์main์ Go์ ์ธ๋ผ์ด๋๊ฐ 'ํฐ' ํจ์๋ก ๋ณด์ ๋น์ฉ 20 ์ดํ์ ํจ์๋ง ๋ผ์ ๋ฃ๋๋ฐ, ๊ฐ ๋์ ๋๋ ค์ฃผ๋east(r,c)๋ ๋น์ฉ์ด 26์ด๋ผ ๊ฒฝ์ฐ๋ง๋ค ์ง์ง ํธ์ถ์ด ์ผ์ด๋๊ณs์t๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ฐ๋ ค๋ฌ๋ค. ์กฐ๊ฐ์ ๊ทธ ์๋ฆฌ์์ ์ฝ๊ณ ๊ฐ ํ๋์ง๋ฆฌhappy(x)(๋น์ฉ 8)๋ง ๋จ๊ธฐ์ ํด๊ฒฐ๋์๋ค. ์ฝ๋ฅดํ์ ๊ฐ์ฅ ์ด๋ ค์ด ์ca6098dfb73254e1์ด C์ 24์ด์ ๋ง์ Go์์ 22์ด๋ค. -
back-20q.w โ ๋ ์ฐ์ฆ์ ์ค๋ฌด ๋ฌธ์ ๋ฅผ
ํผ๋ค. ์ค๋ฌด ๊ฐ์ ๊ฐ๊ด์ ๋ฌธํญ์ด ๋ชจ๋ ์๊ธฐ๊ฐ ์ธ์๋ ๋ต์์ง๋ฅผ ๋๊ณ ํ๋
๋ง์ด๋ค("๋ต์ด A์ธ ์ฒซ ๋ฌธํญ์โฆ", "์ด ์ํ์์ ์ป์ ์ ์๋ ์ต๊ณ ์ ์๋โฆ"). ๋ค์ฏ
๋นํธ ํ๋ณด ์งํฉ ์์ ๋ฐฑํธ๋ํน์ธ๋ฐ, ๋ฌธํญ๋ง๋ค ๊ทธ ์๋ฆฌ์์ ํ์ ํ ์ ์๋ ๋ถ๋ถ๊ณผ
์ค๋ฌด ๊ธ์๊ฐ ๋ค ์ ํด์ ธ์ผ ์ ์ ์๋ ๋ถ๋ถ์ผ๋ก ๊ฐ๋ผ ๋๊ณ , ๊ฐ์ ๋ ๊ธ์ ํ๋๊ฐ
์ด์ํ ๋ฌธํญ๋ค๋ก ์ค์ค์ด ๋ฒ์ ธ ๊ฐ๋ค. ๋ฌธ์๋ ์ค๋ฌด ๋ฌธํญ์ ๋ชจ๋ ์ธ์ฉํ๊ณ (๋ ์ฝ๊ธฐ
์ ์ ์ง์ ํ์ด ๋ณด์๋ผ) ์ ํ๋์ ๋ฌธํญ ํ๋์ฉ ์ฝ๋๋ก ์ฎ๊ธด๋ค. ๊ทธ ๊ณผ์ ์์ ๋ฐํ๋
CWEB์ ์๋ชป ๋์ ์ฐพ์ ๊ณ ์ณค๋ค. ๋ฟ์ ์ ์๋ ์ค ๋๋ฌธ์ 18๋ฒ์ ํ๋ฆด ์๊ฐ ์์๋
๊ฒ๊ณผ, ๋ค์งํ ๊ฒ์ฌ ๋๋ฌธ์ 15๋ฒ์ด ์ฌ์ค์ ๋ง๋๋ฐ๋ ํ๋ฆฐ ๊ฒ์ผ๋ก ๋งค๊ฒจ์ง ์ ์์๋
๊ฒ์ด๋ค. ๊ทธ ํ์ ์๋ณธ์ ์ณ์ ๋ต์์ง 14์ฅ์ ์๊ณ ๊ทธ๋ฅธ ๋ต์์ง 5์ฅ์ ์ป์๋ค. ํผ์ฆ
์์ฒด์ ๋ต์ ๊ทธ๋๋ก๋ค. ์ต๊ณ ์ ์๋ 19์ ์ด๊ณ , 20๋ฒ์ ๋งํ๋ฉด์ ๊ทธ ์ ์์ ๋ฟ๋
๋ต์์ง๋ ์ ํํ ํ๋๋ค. ๊ณ ์น ์๋ณธ๊ณผ ๊ฑฐ์ง ํจํด 211๊ฐ์ง ๋ชจ๋์์ ๋ง์ถฐ ๋ณด์๊ณ ,
์๋ฌธ ๋ฌธ์ ์์ ์๋ก ์ด ๋
๋ฆฝ ์ฑ์ ๊ธฐ์๋, ํ์ ์์๋ฅผ ์ด๋ ๊ฐ์ง๋ก ๋ฐ๊พผ ๊ฒ๊ณผ๋
๋ง์ถฐ ๋ณด์๋ค. ํฌ๋์ค์ ๋ณ๊ฒฝ ํ์ผ ๋๋ GWEB ๋ณ๊ฒฝ ํ์ผ๋ก ํจ๊ป
์ฎ๊ฒผ๋ค(back-20q-backmod9,15.ch,
back-20q-backmod9,15-indet.ch). ์ ๋ง๋ค ๋ฌธํญ
๋์์ ๊ณ ์ณ ์ฐ๊ณ ์ ๋ต์ ๋ณด๊ณ ํ๋๋ฐ, ๊ทธ ๊ฐ์ด๋ฐ ์ฒซ์งธ๋ 15๋ฒ ๊ฒฐํจ์ด ์ด๋์
์๋์ง ์ง์ํ๊ฒ ํ๋ค. ๊ทธ ๋ฌธ๊ตฌ๋๋ก๋ผ๋ฉด ๋ค์ฏ ์ ํ์ง๊ฐ ๊ฐ์ง๋ฐํ ๋์ด์์ ๋ฌธ์ ์
๊ฒฝ์ฐ๊ฐ ์ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ด๋ค. ์ ์ฉ์ CWEB์์ ํ๋ ๋๋ก
gtangle back-20q.w back-20q-backmod9,15.ch. MetaPost ๊ทธ๋ฆผ ์ . -
back-dissect.w โ ์ ์ฌ๊ฐํ์ ์นธ ๋จ์๋ก d๊ฐ์
์กฐ๊ฐ์ผ๋ก ์๋ผ, ๋๋ฆฌ๊ณ ๋ฐ์ด์ ์ฃผ์ด์ง ๋ค๋ฅธ ๋ชจ์์ ์ฑ์ฐ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ฐพ๋๋ค.
์กฐ๊ฐ๋ง๋ค ์ฎ๊น๊ณผ ํ์ ์ ํ๋์ฉ ์ ํด ๋๋ฉด ๋จ๋ ๊ฒ์ ์ด๋ถ ๋งค์นญ์ด๋ค. ์ฎ๊น๋ค์ด ๋ชจ์์
๋ฎ๋์ง๋ถํฐ ๊ฑธ๋ฌ ๋ด๊ณ , ๊ฐ์ ๋ ์ง์ ๋จผ์ ์ง๊ณ , ๊ทธ๋๋ ๋จ๋ ๋ฌธ์ ๋ ํฌ๋์ค๊ฐ
DANCE์์ ๋ฏ์ด ์จ ์ถค์ถ๋ ๋งํฌ๋ก ํผ๋ค. 4ร9 ์ง์ฌ๊ฐํ์ ๊ณ๋จ ์๋ฅด๊ธฐ๊ฐ ๋ ์กฐ๊ฐ์ผ๋ก
๋์ค๊ณ , 4ร4์ 3ร3์ ๋๋ํ ๋์ ๋ชจ์์ 5ร5๋ก ๋ง๋ค๋ ค๋ฉด ์กฐ๊ฐ์ด ์ด์ด์ ธ ์๊ธฐ๋ฅผ
๋ฐ๋ ๋ ๋ค ์กฐ๊ฐ์ด ๋ ๋ค๋ ๊ฒ๋ ์
ํด ๋ณธ๋ค. ์ฎ๊ธฐ๋ค๊ฐ ๊ฒฐํจ ๋์ ๋ง๋ฌ๋ค. ์นธ ํ๋์ง๋ฆฌ
๋ชจ์์์ ๋ฐฐ์ด ๋ฐ
s[-1]์ ์ฝ๊ณ ์ฃฝ๋ ๊ฒ๊ณผ,fgets์ 37๋ฐ์ดํธ ๋ฒํผ๊ฐ ๊ธด ์ค์ ์ชผ๊ฐ ๋ชจ์์ ์๋ฆฌ ์์ด ๋ฐ๊พธ๋ ๊ฒ์ด๋ค. ์๋ณธ๊ณผ ๋ฌด์์ ๋ชจ์ 697๊ฐ, ๊ฐ์ฅ์๋ฆฌ 32๊ฐ์ง์์ ์ถ๋ ฅ๊ณผ ์ข ๋ฃ ๋ถํธ๊ฐ ๋ฐ์ดํธ๊น์ง ๊ฐ๊ณ , ๊ฒฐํจ์ด ๊ฑธ๋ฆฌ๋ 9๊ฐ์ง๋ ๋ ๊ฒฐํจ๋ง ๊ณ ์น ์๋ณธ๊ณผ ๊ฐ๋ค. MetaPost ๊ทธ๋ฆผ ๋. -
back-graceful.w โ ์คํ ํผ๋
๊ทธ๋ํ๋ฒ ์ด์ค ํ์ผ์์ ์ฝ์ ๊ทธ๋ํ(go-sgb์
gbsave๋ฅผ ์ด๋ค)์ ์ฐ์ํ ์ด๋ฆํ๋ฅผ ๋ชจ๋ ์ฐพ๋๋ค. ๊ผญ์ง์ ์ด๋ฆํ๋ 0..m์์ ์๋ก ๋ค๋ฅด๊ณ , ๋ณ์ ์ฐจ์ด๊ฐ ์ ํํ 1..m์ด์ด์ผ ํ๋ฉฐ,VERTEX=label๋ก ์ด๋ฆํ ๋ช ๊ฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ํด ๋ ์๋ ์๋ค. ์์ปค์ ๋ฐฑํธ๋ํน(์๊ณ ๋ฆฌ์ฆ 7.2.2W)์ ์ธต๋ง๋ค ์์ง ์๋ ๊ฐ์ฅ ํฐ ๋ณ ์ด๋ฆํ๋ฅผ ๊ฒจ๋ฅํ๊ณ , ์ด ์ด๋ฆํ์ ์ ์ด ์ด๋ฆํ๋ฅผ 64๋นํธ ๋งต์ ๋ด๊ณ , ๊ณ ๋ฅผ ๊ฒ์ด ํ๋๋ก ์ค์ด๋ ๊ผญ์ง์ ์ ๊ฐ์ ํ๊ณ , ๋ฏธ๋ฆฌ ์ ํ ์ด๋ฆํ๊ฐ ์์ผ๋ฉด "์ ๊ท" ์ด๋ฆํ๋ง ์ธ์ด ์ฌ์งํฉ์ผ๋ก ์ผ์ ์ ๋ฐ์ผ๋ก ์ค์ธ๋ค. ์ฎ๊ธฐ๋ค๊ฐ ํ ์ ์ ๋ง๋ ๋ชจ๋ ๊ณ ์น๊ณ ์ ์ด ๋์๋ค. ๋ณ์bad๊ฐint๋ผ์ 32 ์ด์์ธ ๋ณ ์ด๋ฆํ์ ์ค๋ณต์ ๋์น๋ค. ๋ต์๋ ํด๊ฐ ์์ง๋ง(์ฐํ ์ด๋ฆํ๊ฐ ๋ชจ๋ ์ณ๋ค๋ ๊ฒ์ popcount ๋ ผ์ฆ์ผ๋ก ๋ณด์ธ๋ค) ๋นฝ๋นฝํ ๊ทธ๋ํ์์ ๋ง๋๋ฅผ ์ต๋ 8.9๋ฐฐ๊น์ง ๋ ํ๋๋ค. 2์ธต์์ ๊ฐ์ ๋ ์๊ฐ ์ ๊ท ์กฐ๊ฑด์ ๊ฑด๋๋ฐ์ด Pโ์ ์ ๊ท ์ด๋ฆํ๋ฅผ 2๊ฐ๊ฐ ์๋๋ผ 4๊ฐ๋ก ์ผ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ๊ผญ์ง์ ์ ๊ฐ์ ์ด๋ฆํ๋ฅผ ๋ฏธ๋ฆฌ ์ ํด ๋์ด๋ ๋ง์ง ์์ ์๋ฑํ ๋ต์ด ๋์จ๋ค. ๊ณ ์น Cํ๊ณผ 382๋ฒ์ ์คํ์์ ๋ง๋ ์๊น์ง ๋ฐ์ดํธ ํ๋ ๋ค๋ฅด์ง ์๊ณ , ๋ต์ ๋ฌด์ฐจ๋ณ ๊ณ์๊ธฐ๋ก ํ์ธํ๋ค. - back-pdi.w โ ์ฐจ์ m์ ์์ ์๋ฆฟ์ ๋ถ๋ณ์๋ฅผ ๋ชจ๋ ์ฐพ๋๋ค. ๊ณง ์ ์๋ฆฟ์์ m์ ๊ณฑ ํฉ๊ณผ ๊ฐ์ ์ ์์ธ๋ฐ, 153 = 1ยณ + 5ยณ + 3ยณ ๊ฐ์ ๊ฒ์ด๋ค. ์๋ฆฟ์๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๊ณ ๋ฅด๋ ๋ฐฑํธ๋ํน์ด๊ณ , ๋ ์นด๋ก์ด ์ํํ์ผ๋ก ๊ฐ์ง๋ฅผ ์ธ๊ฒ ์ณ ๋ธ๋ค. ํฐ ์๋ ๋ง์ ๋ง ์์ผ๋ฉด ๋๋ 2์งํ 10์ง๋ฒ์ผ๋ก ๋ค๋ฃฌ๋ค(+6 / โ6 ์ฌ๋ฆผ ์๋ น์ ๊ทธ๋ฆผ์ผ๋ก ํ์ด ๋์๋ค). ํฌ๋์ค์ CWEB ํ๋ก๊ทธ๋จ์ Go/GWEB์ผ๋ก ์ฎ๊ธด ๊ฒ์ด๊ณ , ๋ง๋ ์๊ฐ ์๋ณธ๊ณผ ์ ํํ ๊ฐ๋ค. MetaPost ๊ทธ๋ฆผ ํ๋.
-
back-pi-day.w โ ์ํ ๋๋ผ์ํฐ๋ฅด๊ฐ
2018๋
ํ์ด ๋ฐ์ด์ ๋ธ ํผ์ฆ์ ๋ค๋ฃฌ๋ค. 10ร10 ๊ฒฉ์์ ์นธ๋ง๋ค ๋์๋จ๋ถ ๊ฐ์ด๋ฐ ํ
๋ฐฉํฅ์ ๊ฐ๋ฆฌํค๊ณ , ๊ฐ ์นธ์๋ ๊ทธ ์นธ์ด ๊ฐ๋ฆฌํค๋ ์นธ๋ค์ ์ด๋ฆํ ๊ฐ์ด๋ฐ ์๋ก ๋ค๋ฅธ
๊ฒ์ ๊ฐ์๊ฐ ๋ค์ด๊ฐ์ผ ํ๋ค. ์ฃผ์ด์ง ์ด๋ฆํ 32๊ฐ๋ ฯ์ ์ฒซ 32์๋ฆฌ๋ค. ํ๋ณด ์ด๋ฆํ๋
๋นํธ๋งต์ ๋ด๊ณ , ๊ผญ์ง์ ์ "์์ "ํ๊ฒ ๋ง๋๋ ์ผ์ ๋ค๋ฐ๋ฅด๋ ์นธ๋ค์ ์ด๋ฆํ ์์์
์์ ๋ฐฑํธ๋ํน์ ํ๋ ฮฝ(popcount)๋ก ์
ํ
goal๋ง์คํฌ๋ก ์ณ ๋ธ๋ค. ์ฌ์ค์ ์ผ๋ฐํ๋ ํธ ์ผ๊ด์ฑ์ด๋ค. ํ์ฑ ๋ชฉ๋ก์ด ํ๋ง๋ค ๊ฐ์ฅ ๋ถ์์ ํ ๊ผญ์ง์ ์ ๊ณ ๋ฅด๊ณ , ์ฌ์ฏ ํ์ ๊ฑธ์น 301๋ฒ์ ๊ฒ์ฌ ๋์ ๋ชจ๋ ๋นํธ๋งต์ด ํ์์๊ฐ ๋๋ค. ํฌ๋์ค์ ๋๊ด์ด ๋ค์ด๋ง์ ๊ฒฝ์ฐ๋ฅผ ๊ฐ๋ฅผ ์ผ์ด ์๋ค. ์ฎ๊ธด ํ์ C์ ์ถ๋ ฅ์ด ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. ๋๋ฒ๊น ํ์ 197,802์ค๊ณผ mems 6,865,501๊น์ง ๊ฐ๊ณ , ๋ต์ด ํ๋๋ฟ์ด๋ผ๋ ๊ฒ์ ๋ฐ๋ก ๋ง๋ ํ์ด๊ธฐ๋ก ํ์ธํ๋ค. MetaPost ๊ทธ๋ฆผ ํ๋๊ฐ ์ฃผ์ด์ง ์ด๋ฆํ์ ์ด๋์ด ๋ธ ์ด๋ฆํ๋ฅผ ํจ๊ป ๋ณด์ธ๋ค. -
back-skeleton.w โ ํ์ผ ์ค์ผ๊ฐ
๊ณ ์ํ ๊ณฑ์
๋ผ๋ ํผ์ฆ์ ์ง๋๋ค. ๋ณํ ๋ฌด๋ฌ๊ฐ ์ฃผ์ด์ง๋ฉด, ๊ณฑํด์ง๋ ์์ ๊ณฑํ๋
์์ ํน๋ณํ ์ซ์ d๋ฅผ ์ฐพ๋, ๊ณฑํ๋ ์์ 0๋ค์ด ์ค์ ๋ฐ์ด ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ๋ํด
d๊ฐ ๋ถ๋ถ ๊ณฑ๊ณผ ๊ณฑ์์ ๋ฌด๋ฌ๊ฐ ๋งํ๋ ์๋ฆฌ์ ์ ํํ ๋ํ๋์ผ ํ๋ค. ๊ณฑํด์ง๋ ์์
์๋ฆฟ์๋ฅผ ์ค๋ฅธ์ชฝ๋ถํฐ ๊ณ ๋ฅด๋ ๋ฐฑํธ๋ํน์ด๊ณ , ์ ์ฝ๋ง๋ค ๋ ์ ํ ๋ชฉ๋ก์ด ๊ณฑํ๋ ์์
์๋ฆฟ์๋ฅผ ๊ทธ๋๊ทธ๋ ๊ฐ์ ํ๋ฉฐ, ์ด์๋จ์ m์ง๋ค ์์ ์์ชฝ ๋ฐ๋ณต๋ฌธ์ด ๋งจ ์๋ซ์ค์
๊ฒ์ฌํ๋ค. ์ฎ๊ธฐ๋ค๊ฐ ๊ฒฐํจ์ ํ๋ ๋ง๋ฌ๋ค. ์
o,tt=(constr[k][0]<=l? 0: o,constr[k][l+1])์์ ์ผํ๊ฐ?:๋ณด๋ค ๋์จํ๊ฒ ๋ฌถ์ฌ ๊ธธ์ด ๊ฒ์ฌ๊ฐ ์ฌ๋ผ์ง๊ณ , ์์ ๋ฐ๋ฆผ์ด ๋จ๊ธด ๋ก์ ์๋ฆฟ์๊ฐ "d์ด๋ฉด ์ ๋๋ค"๋ฅผ "d์ฌ์ผ ํ๋ค"๋ก ๋ค์ง๋๋ค. ๊ทธ๋์ ์๋ณธ์ ๋ค์ด๊ฐ๋ฉฐ์ ๋์ค๋ ํ์ผ ์์ ์ ํผ์ฆ(2208068 ร 357029)์ ๋์น๊ณ , O ๋ฌด๋ฌ์์ 68151๊ฐ์ธ ๋ต์ 4707๊ฐ๋ง ์ฐพ๋๋ค. ์ฎ๊ธด ํ์ ๊ณ ์น C์ ๋ง๋์ mems๊น์ง ๋ฐ์ดํธ ํ๋ ๋ค๋ฅด์ง ์๊ณ , ๊ฐ์ง์น๊ธฐ ์ฅ์น๋ฅผ ์ ํ ํจ๊ป ์ฐ์ง ์๋ ๋ ๋ฆฝ ๊ฒ์ฌ๊ธฐ๋ ๊ฐ์ 68151๊ฐ๋ฅผ ์ฐพ๋๋ค. -
back-warnsdorf.w โ ๋์ดํธ ํฌ์ด๋ฅผ ์ฐพ๋
๋ฐ๋ฅธ์ค๋๋ฅดํ ๊ท์น(๋ ๋ฎ์ด์ง ์์ ์ด์์ด ๊ฐ์ฅ ์ ์ ์ด์์ผ๋ก ๊ฐ๋ค)์ ๋ฐ๋ผ ๊ฑธ์
์ ์๋ ๊ธธ์ ๋๋ฅ ์ ๊ฐ๋ฆผ๊น์ง ๋ชจ๋ ํ๋๋ค. ๊ทธ๋ํ๋
go-sgb์
gbsave๋ก ์ฝ๋๋ค. ๊ธธ๋ง๋ค ๋๋ฅ ์ ๋ฌด์์๋ก ๊นจ๋ ๊ฑธ์์ด ๊ฑฐ๊ธฐ ๋ฟ์ ํ๋ฅ ์ ์ ํ๋, ์ด๋ฅผํ ๋ฉด 8ร8 ํ์์๋ ์ด๋ ์นธ์์ ๋ ๋๋ 97โ99ํผ์ผํธ์ ํ๋ฅ ๋ก ํฌ์ด๋ฅผ ์ป๋๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ๋ฐ๋ผ๋ ๋ ๊ผญ์ง์ ์ ์ ์ด ๋ซํ ํฌ์ด๋ฅผ ๋ ธ๋ฆด ์๋ ์๊ณ , ๊ฐ์ ๊ผญ์ง์ ์ ๋ ๋ฒ ์ ์ผ๋ฉด ๊ทธ๊ฒ์ ๋ง๋ค๋ฅธ ๋ง์ง๋ง ์นธ์ผ๋ก๋ง ๋ค์ด๊ฐ ์ ์๊ฒ ๋๋ค. ์ฎ๊ธฐ๋ค๊ฐ ๊ฒฐํจ์ ํ๋ ๋ง๋ฌ๋ค. ํ๋ณด ์คํ์ด 1000์นธ์ผ๋ก ๊ณ ์ ์ด๋ผ ๊ผญ์ง์ ์ด 1000๊ฐ์ ๊ฐ๊น์ด ๊ทธ๋ํ์์ ๋์น๋๋ฐ(3ร330 ๊ฒฉ์๋ ๋ฉ์ฉกํ ๋๋๋ฉด์ 1319์นธ์ ์ด๋ค), ์ฎ๊ธด ํ์ ์คํ์ ํธ์ ์๋งํผ ์ก๋๋ค. ์๋ณธ๊ณผ 450๊ฐ์ง ๊ฒฝ์ฐ์์ ์ถ๋ ฅ๊ณผ ์ข ๋ฃ ๋ถํธ๊ฐ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. -
canonize-bidigraph.w โ ์๋ฐฉํฅ ๊ทธ๋ํ(๋ณ์ ์ ๋์
๋ฐฉํฅ ๊ธฐํธ
<๋>๊ฐ ๋ถ๋ ๊ทธ๋ํ)์ ๊ผญ์ง์ ๋ช ๊ฐ๋ฅผ ๋ค์ง์ด, ์ธ์ ํ๋ ฌ์ ๋๊ฐ์ ๊ณผ ๊ทธ ์๋ฅผ ๋ค ๋นํธ ๋ถํธ๋ก ๋์ด๋์ ์ด์ด ์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ํฌ๊ฒ ๋๋๋ก ํ๋ ์ ๊ทํ์ ๊ตฌํ๋ค. ๊ทธ๋ํ๋ go-sgb์gbsave๋ก ์ฝ๊ณ ์ด๋ค. ์ฎ๊ธฐ๋ค๊ฐ ์๋ณธ(2026๋ 1์)์ ์๊ณ ๋ฆฌ์ฆ์์ ๊ฒฐํจ ๋์ ์ฐพ์๋ค. ๋ ๊ฐ์ง๊ฐ ๋๋ฅ ์ธ ๋ฌด๋ฌ ๋ท์์j์k๊ฐ ๋ค๋ฐ๋์ด ์๊ณ , ์์ ๋กญ์ง ์์ ๊ผญ์ง์ ์ ์์ ๋กญ๋ค๋ฉฐ ์์ง๋ฌ ์ ํ๋ค. ๊ทธ๋์ ๋ค์ง๊ธฐ๋ก ์ค๊ฐ๋ ๋ ๊ทธ๋ํ๊ฐ ๋ค๋ฅธ "์ ๊ทํ"์ ์ป๋๋ค. ์ฎ๊ธด ํ์ ์์ ๊ฒ์ ๋ฐ๋ก์ก๊ณ , ๋ค์ ๊ฒ์ ๋ฐ๋ฆ ๊ด๊ณ๋ฅผ ์ง์ ๊ธฐ์ตํ๋ ํฉ์งํฉ-์ฐพ๊ธฐ๋ก ํ์ ๋๊ฒจ ๋ค๊ณ ๊ฐ์ ๊ณ ์น๋ค. ๊ฒฐํจ์ด ๊ฑธ๋ฆฌ์ง ์๋ 1045๊ฐ์ง์์๋ ์๋ณธ๊ณผ ํ์ค ์ค๋ฅ๊น์ง ๋ฐ์ดํธ๊ฐ ๊ฐ๊ณ , ๊ฑธ๋ฆฌ๋ ๊ฒ์์๋ ์ถ๋ ฅ์ด ์ ์ ํ์์ ์ฌ์ ์ ์ต๋๊ฐ๊ณผ ๊ฐ๋ค. ์ ํฅ ๊ทธ๋ํ์ ์ ๊ทํ์ด ์ ํฅ์ด๋ผ๋ ํฌ๋์ค์ ์ฃผ์ฅ์ ๋ค ๊ผญ์ง์ ๋ฐ๋ก๋ก ํ๋ ธ์์ ๋ณด์ธ๋ค. ์ด๋ฆ์ด 150์๋ฅผ ๋์ผ๋ฉดsprintf๊ฐ ๋์น๋ ๊ฒฐํจ๋ ์ ์๋ค. ๊ทธ ๊น์ go-sgb์SaveGraph๊ฐ 154์๋ฅผ ๋๋ ์ด๋ฆ์ ์๋ฅด์ง ์์ C SGB๊ฐ ์ฝ์ง ๋ชปํ๋ ํ์ผ์ ์ฐ๋ ๊ฒ๋ go-sgb ์ชฝ์์ ๊ณ ์ณค๋ค. MetaPost ๊ทธ๋ฆผ ํ๋. -
commafree-eastman.w โ
์ด์คํธ๋จผ์ 1965๋
์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ด ๊ฒ์ด๋ค. ๊ธธ์ด๊ฐ ํ์์ด๊ณ ์ ์ํ
์ด๋ ๊ฐ์ด๋ฐ ์ด๋ ๊ฒ๊ณผ๋ ๊ฐ์ง ์์ ์์ด์ด ์ฃผ์ด์ง๋ฉด, ๊ณ ๋ฅธ ์ด๋๋ค์ด ์ผํ ์๋
๋ถํธ๋ฅผ ์ด๋ฃจ๋๋ก ์ด๋ ํ๋๋ฅผ ๊ณ ๋ฅธ๋ค. ๊ณจ๋กฌ๊ณผ ๊ณ ๋ ๊ณผ ์ฐ์น์ ์ถ์ธก์ ๋งค๋ญ์ง์
๊ตฌ์ฑ์ด๋ค. ๋ฑ๋ง์ ๊ฒฝ๊ณ ํ์๋ก ๋ถ๋ถ ๋ฑ๋ง๋ก ์๋ฆฌ๊ณ , ๋จ๊ณ๋ง๋ค ์ด์ํ
๋ถ์ง(๋ค๋ฐ๋ค์์ ์จ ์ฉ์ด๋ ํฌ๋์ค์ ๊ฒ์ด๋ค) ์ฌ์ด์ ๊ธธ์ด๊ฐ ํ์์ธ ๊ตฌ๊ฐ๋ง๋ค
ํ์๋ฅผ ๋ฑ ํ๋๋ง ๋จ๊ธด๋ค. ๊ทธ๋์ โlogโ nโ ๋จ๊ณ๋ฉด ๋๋ํ๋ค. CWEB ์๋ณธ๊ณผ
26830๋ฒ์ ์คํ์์ ๋ง์ถฐ ๋ณด์๋ค. ๋์ธ ๊ธ์ ์ํ๋ฒณ ์์ ๊ธธ์ด 3, 5, 7, 9์ธ ์์ด
๋ชจ๋์ ๊ธธ์ด 105๊น์ง์ ๋ฌด์์ ์์ด 4000๊ฐ์ธ๋ฐ, ์ผ๋ถ๋ฌ ๋ค๋ฅด๊ฒ ํ ๊ฒ์ด ํ๋ ์๋ค.
ํจ์
strconv.Atoi๋sscanf("%d")๊ฐ ์กฐ์ฉํ ๋ฐ์๋ค์ด๋ ๋ค์ชฝ ์ฐ๋ ๊ธฐ๋ฅผ ๊ฑฐ์ ํ๋ค. MetaPost ๊ทธ๋ฆผ ํ๋. -
dlx-pre.w โ ์ ํํ ๋ฎ๊ฐ ์ฐ์์
์ ์ฒ๋ฆฌ๊ธฐ๋ค. ์
๋ ฅ
.dlx๋ฌธ์ ๋ฅผ ์ฝ์ด ์ธ๋ฐ์๋ ์ ํ์ง์ ํญ๋ชฉ์ ๋์ด ๋ธ ๊ฐ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์จ ๋ธ๋ค. ๊ท์น ๋์ด ์ผ์ ํ๋ค. ์ฃผ ํญ๋ชฉ p๋ฅผ ๋ด์ ์ ํ์ง๊ฐ ๋ชจ๋ ์ ์๋ c๋ ๋ด๊ณ ์์ผ๋ฉด c์, p ์์ด c๋ฅผ ๋ด์ ์ ํ์ง๋ฅผ ๋ชจ๋ ๋ฒ๋ฆด ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ p๋ฅผ ๋ด์ ์ ํ์ง๊ฐ ๋ชจ๋ ์ ํ์ง r๊ณผ ๋ถ๋ชํ๋ฉด r์ ๋ฒ๋ฆด ์ ์๋ค. ์ด๊ฒ์ ์ถค์ถ๋ ๋งํฌ ๊ตฌ์กฐ์์ ํญ๋ชฉ์ ํ๋์ฉ ์จ๊ธฐ๋ฉฐ ์ ์ฉํ๋๋ฐ, ๋ณด์กฐ ํ๋ ์์ด๋ ๋๋ค. ์ด์ค ์ฐ๊ฒฐ ๋ชฉ๋ก์์ ๋น ์ ธ๋์จ ๋ง๋๋ ์ ์ด์์ ์ฌ์ ํ ๊ธฐ์ตํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ฎ๊ธธ ๋ ๋งค๋ญ์ ํฌ๋์ค๊ฐ ์๋์ค๋ฌ์ํgoto๋ค. ๋งํ ํญ๋ชฉ์ ๋ง๋๋ฉด ์จ๊ธฐ๋ ๋ฐ๋ณต๋ฌธ์์ ๋น ์ ธ๋์ ๋๋๋ฆฌ๋ ๋ฐ๋ณต๋ฌธ์ ํ๊ฐ์ด๋ฐ๋ก ๋ฐ์ด๋๋๋ฐ, ๊ทธ๊ฐ "goto ๋ฌธ์ ์ฐ๋ ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ"(1974)์์ ์นํธํ ๋ฐ๋ก ๊ทธ ๊ธฐ๋ฒ์ด๋ค. Go๋ ๋ธ๋ก ์์ผ๋ก ๋ฐ์ด๋ค ์ ์์ผ๋ฏ๋กblockedํ๋๊ทธ์ ์ด๋ฆํ ๋ถ์break๋ก ํ๋ฆ์ ๊ทธ๋๋ก ๋์ด๋ ธ๋ค. CWEB ์๋ณธ๊ณผ ๋ง์ถฐ ๋ณด์๊ณ (ํ์ค ์ถ๋ ฅ์ด ๋ฐ์ดํธ๊น์ง ๊ฐ๊ณ mems์ ์์ธํ ๊ธฐ๋ก๋ ๊ฐ๋ค), ์์ฑํ ๋ฌธ์ 612๊ฐ์ ๋ํ 2496๋ฒ์ ์คํ๊ณผ dancing-cells์ ํํ ๋ฏธ๋ ธยทํ๋ก๋ฏธ๋ ธ ํ, ๊ทธ๋ฆฌ๊ณ ํจ๋์ผ๋ก ๋๋๋ ๋ชจ๋ ๊ธธ์ ํด ๋ณด์๋ค. ๋ฌธ์๋ ์๋ณธ ยง3์ ๋ฏธ๋๋ฌ์ง ๋๋ ์ ์ด ๋๋ค. ๋ณด๊ธฐ ์ถ๋ ฅ์ดE์๋ฆฌ์C๋ฅผ ๋ณด์ด๊ณ , ํ๋ก๊ทธ๋จ์ด ์ฐ์ง ์๋|๊ฐ ๋ค์ด ์๋ค. -
dragon-calc.w โ ๋ฐํน์ ์ผ๋ฐํ๋ ์ฉ
๊ณก์ ๊ณผ, ๊ทธ์ ๋ค์ด์๋ชฌ๋์ ์ฉ ๋
ธํธ์ ๋์ค๋ ํ์ผ ๊ณ์ฐ์ ์ํ ๋ํํ ๊ณ์ฐ๊ธฐ๋ค.
๊ธ์
D์U๋ก ๋ ์ ๊ธฐ ์์ด, ๊ณก์ ์ ๋ ๋ฐฐ(๋๋ ๋ค์ฏ ๋ฐฐ)๋ก ๋ง๋๋ ์ ๊ธฐ ๊ณฑ, ์ขํ์ ํฉ์ด ํ์์ธ ๊ฐ์ฐ์ค ์ ์๋ก์์ ํ์ผ, ํ์๋ถ์ ์ ํด๋ฆฌ๋๋ฅผ ๋๋ ค ์ป์ ์๋ฅด๋ฏธํธ ํ์คํ ๊ธฐ์ ๋ก ๋๋ (2+2i)z์ ๋ํ ํฉ๋๋ฅ, ํ๋ฉด์ ์ฑ์ฐ๋ ๊ฒฝ๋ก ์์์์ ํ์ผ ์ธ์๋ถํด, ๊ทธ๋ฆฌ๊ณ MetaPost ์ถ๋ ฅ. ํฌ๋์ค์ 2010๋ CWEB ํ๋ก๊ทธ๋จ์ Go/GWEB์ผ๋ก ์ฎ๊ธด ๊ฒ์ผ๋ก, ๋ต์ด ์๋ณธ๊ณผ ์ค ๋จ์๋ก ๊ฐ๋ค. ์๋ณธ์์goto์ ๊ฑฐ๋ฏธ์ค์ ์ด๋ฆํ ๋ถ์ ๋ฐ๋ณต๋ฌธ์ด ๋์๊ณ , 134 MB์ง๋ฆฌ ์ ์ ํ๋ ํ์ํ ๋งํผ๋ง ์ก๋ ๊ฒ์ด ๋์๊ณ , ๋ซํ ๊ฒฝ๋ก์์ ๋๋ 0์ผ๋ก ๋๋๊ธฐ๋ ์ด์ ๊ฑธ๋ฌ ๋ธ๋ค. MetaPost ๊ทธ๋ฆผ ๋. - dynabidiham.w โ dynaham.w์ ์๋ฐฉํฅ ๊ทธ๋ํํ์ผ๋ก, ์ฒ์ m๊ฐ ๋ง๋๋ก ๋ ์ ๋ ๋ถ๋ถ๊ทธ๋ํ๋ง๋ค ํด๋ฐํด ํ๋ก์ ์๋ฅผ ์ผ๋ค. Weigel์ด ์ฐ๊ณ ํฌ๋์ค๊ฐ ๋ค๋ฌ์ ๊ฒ์ผ๋ก, dynadiham.w์ ๋ฐํ์ด๋ค. ๋ณ์ ๊ฐ์ง๋ ํธ ๊ธธ์ด mod 4๋ก ์ฝ๊ณ ๋น ์ง ์ง ํธ๋ง ์ฑ์ด๋ค. ํ ๋ถ๋ถ๊ฒฝ๋ก์ ๋ ๋์ด ๊ฐ์ ์ข ๋ฅ์ผ ์ ์์ด ํธ๋ผ์ด๊ฐ ๋์ ๋ง๋ค ์๊ณผ ์ฑํฌ ๋ ์นธ์ ๋๋ค. dynadiham.w์ ๊ฐ์ ๊ฒฐํจ ๋(oldmem ๋์นจ ๊ฒ์ฌ, ๋ง๋ ์๋ ๊ทธ๋ํ)์ ๊ณ ์ณค๊ณ , ๊ฐ์ ๊ฐ์ง์ ๋ณ์ ๋ ๋ฒ ์ ์ผ๋ฉด ์ ์ ์ชฝ์ ๋ฐ๋ผ ์ ์ด ๋ฌ๋ผ์ง๋ ๋ช ์ธ ๋ฐ์ ํ์ ์ ์ด ๋์๋ค. ๊ณ ์น CWEB ์๋ณธ๊ณผ ๊ทธ๋ํ 82๊ฐ์์ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค.
- dynadiham.w โ dynaham.w์ ์ ํฅํ์ผ๋ก, ์ฒ์ m๊ฐ ๋ง๋๋ก ๋ ์ ๋ ๋ถ๋ถ๊ทธ๋ํ๋ง๋ค ์ ํฅ ํด๋ฐํด ํ๋ก์ ์๋ฅผ ์ผ๋ค. Weigel๊ณผ ํฌ๋์ค์ DYNABIDIHAM์์ ์๋ค. ํธ๋ง๋ค ๋ฐ๋ ๋ฐฉํฅ์ ์ง ํธ๋ฅผ ๊ธธ์ด ํ์(4l+1, 4l+3)๋ก ๋ฃ์ด ์๋ฐฉํฅ ๊ทธ๋ํ๋ก ๋ฐ๊พธ๊ณ , ๋ฐ๊นฅ ๋ง๋๋ฅผ ์๊ณผ ์ฑํฌ๋ก ๊ฐ๋ผ ๋ถํธ 2j+[์]์ผ๋ก ์ ๋๋ค. ์๋ณธ์ ์ ๊ณ ๋ฆฌ๋ฅผ ๊ฑฐ์ ํ๊ณ ํธ๊ฐ ์ ๋ถ๋ ๊ฒฝ์ฐ๋ ๊ฑธ๋ฌ์, dynaham.w์ ๊ฒฐํจ ๋ท ๊ฐ์ด๋ฐ ๋(oldmem ๋์นจ ๊ฒ์ฌ, ๋ง๋ ์๋ ๊ทธ๋ํ)๋ง ๋จ์ ๊ณ ์ณค๋ค. ์ ์ ์ ๊ณผ ๊ทธ๋ํ 37๊ฐ์์ ๋ง์ถฐ ๋ณด์๊ณ , ๊ณ ์น CWEB ์๋ณธ๊ณผ ๊ทธ๋ํ 114๊ฐ์์ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค.
- dynaham.w โ ๊ทธ๋ํ์ ์ฒ์ m๊ฐ ๋ง๋๋ก ๋ ์ ๋ ๋ถ๋ถ๊ทธ๋ํ๋ง๋ค ํด๋ฐํด ํ๋ก์ ์๋ฅผ m=1, 2, โฆ, n์ ๊ฑธ์ณ ํ๊บผ๋ฒ์ ์ผ๋ค. ss*ham ์ฐ์๊ณผ ๋ฌ๋ฆฌ ๋์ถ์ ์ผ๋ก ํ๋ก๋ฅผ ๋์ด๋์ง ์๋๋ค. ๊ฒฝ๊ณ์ ๋ชจ์์ผ๋ก ๋ฌถ์ ๋ถ๋ถ ๊ฒฝ๋ก ์ง์์ ๋์น๋ฅ๋ง๋ค ์๋ง ๋ค๊ณ ๊ฐ๋ ๋์ ๊ณํ๋ฒ์ด๋ค. ๋์น๋ฅ๋ ๋ช ๋นํธ๋ก ์์ถํ๋ ํธ๋ผ์ด์ ๋ด๋๋ค. ๋์ดํธ ํ์ ์ด ์์๋ก ๋งค๊ธฐ๋ฉด 3ร40, 5ร16, 6ร12, 7ร8 ํ์ ๋ซํ ํฌ์ด ์๊ฐ OEIS์ ๋ง๋๋ค. ์๋ณธ์ ๊ฒฐํจ ๋ท์ ๊ณ ์ณค๋ค. ๊ฒน์น ๋ณ๊ณผ ์ ๊ณ ๋ฆฌ๊ฐ ์์ผ๋ฉด ํ๋ฆฐ ์๋ฅผ ๋ด๊ฑฐ๋ ์ฃฝ๋ ๊ฒ, ์์ถ ํธ๋ผ์ด ๋์นจ์ ๋ฐ์ดํธ์ ๋ฑ๋ง์ ํท๊ฐ๋ ค ๋์น๋ ๊ฒ, ๋ง๋ ์๋ ๊ทธ๋ํ์์ ์ฃฝ๋ ๊ฒ์ด๋ค. ์ ์ ์ ๊ณผ ๊ทธ๋ํ 107๊ฐ์์ ๋ง์ถฐ ๋ณด์๊ณ , ๊ณ ์น CWEB ์๋ณธ๊ณผ๋ ๊ทธ๋ํ 194๊ฐ์์ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. MetaPost ๊ทธ๋ฆผ ํ๋.
-
dynahamp.w โ dynaham.w์ ๊ฒฝ๋กํ์ผ๋ก, ์ฒ์ m๊ฐ
๋ง๋๋ก ๋ ์ ๋ ๋ถ๋ถ๊ทธ๋ํ๋ง๋ค ํด๋ฐํด ๊ฒฝ๋ก์ ์๋ฅผ ์ผ๋ค. ๋ชจ๋ ๋ง๋์ ์ด์ํ ์
๋ง๋
!๋ฅผ ๋ณดํ Gโบ์ ํด๋ฐํด ํ๋ก๋ก ๋ฐ๊พธ์ด ์ผ๋ค. ๋์ดํธ ํ์ ์ด ์์๋ก ๋งค๊ธฐ๋ฉด ์ด๋ฆฐ ํฌ์ด ์๊ฐ ๋์จ๋ค(6ร6 ํ์์ 3318960, ๋ฐฉํฅ๊น์ง ์ผ 6637920์ ์ ๋ฐ). dynaham.w์์ ๊ณ ์น ์๋ณธ์ ๊ฒฐํจ ๋ท์ด ๊ทธ๋๋ก ์์ด ๋๊ฐ์ด ๊ณ ์ณค๋ค. ์ ์ ์ ๊ณผ ๊ทธ๋ํ 105๊ฐ์์ ๋ง์ถฐ ๋ณด์๊ณ , ๊ณ ์น CWEB ์๋ณธ๊ณผ ๊ทธ๋ํ 193๊ฐ์์ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. MetaPost ๊ทธ๋ฆผ ํ๋. -
enigmatic-puzzle.w โ
TAOCP 7.2.2.8์ ๋์ค๋ 125๊ธ์์ง๋ฆฌ ์๋๊ทธ๋ง ์ํธ๋ฌธ์ ๊นฌ๋ค. ์ํธ๋ฌธ๊ณผ ํฌ๋ฆฝ ๋ฑ๋ง
ํ๋(
ENIGMATICALLY)๋ง ๊ฐ์ง๊ณ ํ์ ์์ ์ ํ๊ณผ ์์, ๋ง ์ค์ , ์์ ์์น, ํ๋ฌ๊ทธํ, ๊ทธ๋ฆฌ๊ณ ํ๋ฌธ์ ๋์ฐพ๋๋ค. ํฌ๋์ค์ ํ๋ก๊ทธ๋จ ๋ค์ฏ ๊ฐ๋ฅผ ์ฌ๊ธฐ์ ํ๋์ ํ์ดํ๋ผ์ธ์ผ๋ก ์ฎ์์ผ๋ฏ๋ก ๋ฌธ์๋ ๊ทธ๊ฒ๋ค์ ๋ชจ๋ ํ๋๋ค. ๊ธฐ๊ณ ์์ฒด(๋ค์ฏ ๊ฐ์ด๋ฐ ํ์ ์ ์ , ๋ฐ์ฌ๊ธฐ B, ์ด์ค ์ ์ง์ ๋ฒ๋ฆ, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ๊ธ์๋ ์๊ธฐ ์์ ์ผ๋ก ์ํธํ๋์ง ์๋ ์น๋ช ์ ํ โ ์ด ํ ์ค์ด ํฌ๋ฆฝ ์์น 113๊ฐ ๊ฐ์ด๋ฐ 50๊ฐ๋ฅผ ์ฃฝ์ธ๋ค), ํ์ ์๊ฐ ์ผ๋ง๋ ๋์๋์ง๋ง ์ข์ ๋ชจ๋ฅด๋ ๋ง ์ค์ ์ ๋น๊ปด๊ฐ๊ณ k์ธต์ ๋ง๋๊ฐ ์ ํํ 2k+1๊ฐ์ธ ๋ธํ ๋๋ฌด, ์์ ์๋ ๊ธ์ ์ 351๊ฐ ์์ ์ ๋์จ ํ์ธ๋์ธ ๋ด๋ฒ (์์ ์์ ์์ด ๋ค๋ฃจ๋ ๊ฒ์ด ๊ณง ์ฐ์น๋จผ์ ๋๊ฐ ํ์ด๋ค), ๊ฐ์ ๋ ๋ฅ๋ฅผ ๋ชจ๋ ํ๋์ ๊ฑฐ๋ํ ๋ฅ๋ก ํฉ์น๋ ๊ฐ์ ๋ ๊ฑฐ๋ฅด๊ฐ, ์ด์๋จ์ ๋ฅ์ ์ด๊ธ๋์ง ์๋ ํ๋ฌ๊ทธํ์ ๋ชจ๋ ๋์ด๋๋ ๊ฐ์ถ๋ฆฐ ๊ฐ์ ๋ฆฌํฐ๋ด SAT ํ์ด๊ธฐ, ๋ธํ ๊ฒฝ๋ก๋ฅผ ๋ค์ ์์ ์์น์ ๋ง ์ค์ ์ผ๋ก ๋ฐ๊พธ๋ ์ฐ์ , ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก ํ๋ณด 3,331,188๊ฐ ๊ฐ์ด๋ฐ ์ง์ง ์์ด์ธ ํ๋๋ฅผ ๊ณ ๋ฅด๋ 5-๊ทธ๋จ ํต๊ณ๋ค. ์์ด๊ฐ ๋ง๊ณ , 1653๋ ์ ์ฐ๊ธ์ ์ฑ ์์ ์๋ค. ํฌ๋์ค์ C ์๋ณธ๊ณผ ๋ฐฑ๋ง ๊ฐ์ง ์ค์ ์ ๋ชจ๋ ํ์ด ์ค ๋จ์๋ก ๋ง์ถฐ ๋ณด์๋ค. ์๋ณธ์ ์จ์ด ์๋ ๋ฒํผ ๋ฌธ์ ์ ์ ๊ณ ์น๊ณ ์ค๋ช ํด ๋์๋ค. ๋ฐฐ์ดmove[64]๋ ๋ณ์ ๊ฐ์๋งํผ ์ฒจ์๊ฐ ๋ถ๋๋ฐ, ๊ทธ๊ฒ์ด 64๋ฅผ ๋์ ์ ์๋ค๊ณ ํฌ๋์ค ์์ ์ด ์ ์ด ๋์๊ณ , ์ ์ฒด ์คํ์ด ์ ๋ง ๊ทธ๋ ๋ค๋ ๊ฒ์ ๋ณด์ธ๋ค(max vars 79). ๋ฐฐ์ดplugs[โฆ][26]์ ํ๋ฌ๊ทธ๊ฐ ํ๋๋ ์๋ ํ๋ฌ๊ทธํ์์ ๋ณด์ด๋ฅผ ๋ ์๋ฆฌ๊ฐ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฆฌํฐ๋ด์ด ์๋ "์ ์ด๋ ํ๋" ์ ์ด ์ฐ์ง ์์ ์นธ์ ์ฝ๋๋ค. ์ญ์ฌ๋ ํจ๊ป ์ฎ์๋ค. ์ ฐ๋ฅด๋น์ฐ์ค, ๋ ์ํ์คํค์ ํด๋๋์ ๋ด๋ฐ, ํผ๋ฆฌ, ํ๋ง, ์ฐ์น๋จผ์ด๋ค. ์ ์ฒด ํ๊ธฐ๋ ๊ณ ๋ฃจํด์ผ๋ก ๋๋์๋ค. ํ๋กํ์ผ์ ๋ ๋ณด๋ ์๊ฐ์ 72%๊ฐ ๋ด๋ฒ ์ ์ ๋์จ ๋จ๊ณ์ ์์๋๋ฐ, ๊ฒฝ๋ก ์์ถ๋ ๋ ์ข์ ๋ฐฐ์ด๋ ํ๋ ๊ตฌ์กฐ์ฒด ๋ฐฐ์น๋ ๋ชจ๋ ์คํ๋ ค ๋๋ ธ๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ค์ ์๋ก ์๋ฌด๊ฒ๋ ๋๋์ด ์ฐ์ง ์์ผ๋ฏ๋ก, ์ผ๊พผ ์ด์ด M1 Max์์ 2์๊ฐ 4๋ถ 26์ด ๊ฑธ๋ฆฌ๋ ๊ฒ์ 16๋ถ 10์ด๋ก ์ค์๋ค. ์ถ๋ ฅ์ ๋ฐ์ดํธ๊น์ง ๊ทธ๋๋ก์ด๊ณ , ์ฌ์ ํ ํ๋ฌ๋์จ๋ค. ๋ฌด์์ ์ฐ์์ง๊ฐ ๊ทธ ์์ ๋ชจ๋ ๊ฒ์ ๋ฌ๋ ค ์์ด์ ํ ๋จ์์ ์ค์ ์์ ๋จ์๊ฐ ๋ชจ๋ ๋๋์ผ ์ ํด์ง๋ฏ๋ก, ์ผ๊พผ๋ง๋ค ์ฐํ ์ ์๋ ๊ฒ์ ๋๋ํ ๋ชจ์ ๋์๋ค๊ฐ ๋๋ ์๋ถ๋ถ์ ์ฐจ๋ก๋ก ๋ด๋ณด๋ธ๋ค. ํ๊ธฐ๋ฅผ 60๋จ์๊ฐ ์๋๋ผ 1560๋จ์๋ก ์๋๋๋ ์ฒซ ์ค์ด 6.4์ด ๋ง์ ๋์ค๊ณ , ๋จ์๋ง๋ค ํ์ ์ ํ๋ฅผ ๋ค์ ์ง๋๋ฐ๋ ์ ์ฒด๊ฐ ์คํ๋ ค ๋ ๋น ๋ฅด๋ค(๊ผฌ๋ฆฌ๊ฐ ์งง๋ค). ํ์ค ์ค๋ฅ๋ก ๋๊ฐ๋ ์งํ ํ์ 13์ค๊น์ง ๊ทธ๋๋ก๋ค. MetaPost ๊ทธ๋ฆผ ๋. 5-๊ทธ๋จ ๊ณ์์๋ ํฌ๋์ค์ ์๋ฌธ์ด ํ์ํ๋ฐ, ์ ์ฅ์์VOL1TEXT.txt๋ก ๋ค์ด ์๋ค(ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ ํ์ผ ์ด๋ฆ์VOL1TEXT์ด๋ฏ๋ก ์ ์งธ ์ธ์๋ก ๋๊ธฐ๋ฉด ๋๋ค). -
floyd.w โ ํ๋ก์ด๋์ ๋ถํ ๋ฌธ์ . ํฌ๋์ค๊ฐ *์ฅ๋๊ฐ ๋ฌธ์ ๋ ์ธ๋ชจ
์๋๊ฐ?*์์ ๋ค๋ฃฌ ๊ณ ์ ์ ์ธ "์ฅ๋๊ฐ ๋ฌธ์ "๋ค. โ1โฆโ50์ ๊ฑฐ์ ๊ฐ์ ๋ ๋ชซ์ผ๋ก
๊ฐ๋ฅธ๋ค. ๋ฌธํ์ ์ผ๋ก ํผ ํ์ด(์ค๊ฐ์์ ๋ง๋๊ธฐ ํ์, ๊ทธ๋ ์ด ๋ถํธ ์ด๊ฑฐ, ๋ณด์ ๋ง์
,
๊ทธ๋ฆฌ๊ณ
math/big๊ฒ์ฆ)๋ค. -
grayspan.w โ ๊ทธ๋ํ์ ์ ์ฅ ๋๋ฌด๋ฅผ ๋ชจ๋ ๋ง๋ค๋, ์ด์ํ ๋ ๋๋ฌด๊ฐ
๋ณ ํ๋๋ง ๋ค๋ฅด๊ฒ ๋์ด๋๋๋ค. ๋งฌ์ปด ์ค๋ฏธ์ค์ ์์ฌ ๋
ผ๋ฌธ(1997)์ ๋ฐํ์ผ๋ก ํฌ๋์ค๊ฐ
"์กฐ๊ธ ์๋๋ฌ" ์ง ๊ฒ์ด๋ค. ๊ฑฐ์ ๋๋ฌด์ ์ฒซ ๋ณ์ ์ค์ฌ ๋๋ถ๋ฅด๊ณ , ๋๋๋ฉด ๊ทธ ๋ณ์
์ง์(๋ค๋ฆฌ๊ฐ ์๋ ๋๋ง) ๋ค์ ๋๋ถ๋ฅธ๋ค. ์ค์ด๊ธฐ์ ํด๊ธฐ๋ ์ด์ค ์ฐ๊ฒฐ ๋ฆฌ์คํธ ์์ ์ถค์ถ๋
๊ณ ๋ฆฌ๋ก ํ๊ณ , ๋ค๋ฆฌ๋ ์ฐจ์ 1๊ณผ ๋๋ํ ๋ณ์ด๋ผ๋ ์ด๋ฆผ ๋์ ์ด์ด ๋๋น ์ฐ์ ํ์์ผ๋ก
๊ฐ๋ฆฐ๋ค. ํ ๋ฐ๋ณต๋ฌธ์์ ๋ค๋ฅธ ๋ฐ๋ณต๋ฌธ ๋ชธํต์ผ๋ก ๋ฐ์ด๋๋
goto๋ ์ฒซ ๋ฐ๋ณต๋ฌธ์ ์ด๋ฆํ๋ก ํด์ ์ฎ๊ฒผ๋ค. ๋ฉ์น ํฐ go-sgb ๋ ์ฝ๋ ๋์ ์์ ๊ผญ์ง์ ยทํธ ๊ตฌ์กฐ์ฒด๋ก ์ฎ๊ฒจ ๋ด๋๋ค. ์๋ณธ์ ๊ฒฐํจ ํ๋, ๊ผญ์ง์ ์ด ์๋ ๊ทธ๋ํ์์ ์ธ๊ทธํดํธ๋ก ์ฃฝ๋ ๊ฒ์ ๊ณ ์ณค๋ค. ๊ทธ๋ํ 396๊ฐ์์ ์ธ ๊ฐ์ง ์์ธํจ์ผ๋ก ์๋ณธ๊ณผ ์ถ๋ ฅยทmems๊ฐ ๋ฐ์ดํธ๊น์ง ๊ฐ๊ณ , ํ๋ ฌ ๋๋ฌด ์ ๋ฆฌ์ ๊ทธ๋ ์ด ์ฑ์ง๋ก ๋ฐ๋ก ๊ฒ์ฌํ๋ค. ์ ์ญ์ด๋mems๋ฅผ ์ง์ญ ๋ณ์๋ก ์ฎ๊ธฐ์ 1.4๋ฐฐ ๋๋ฆฌ๋ ๊ฒ์ด ์๋ณธ๋ณด๋ค 1.4๋ฐฐ ๋นจ๋ผ์ก๋ค. -
hopcroft-karp.w โ ์ด๋ถ ๊ทธ๋ํ์
์ต๋ ๋งค์นญ์ O((t+n)ยทsqrt(m))์ ์ฐพ๋๋ค. ํ๋ง๋ค ๊ฒฝ๋ก๋ฅผ ํ๋์ฉ ๋๋ฆฌ๋ ๋์ ,
๊ผญ์ง์ ์ด ๊ฒน์น์ง ์๋ ์ต๋จ ์ฆ๊ฐ ๊ฒฝ๋ก์ ๊ทน๋ ์งํฉ์ ํ๊บผ๋ฒ์ ์ฐพ๋๋ค. ๋ฌธ์์
์ ๋ฐ์ ์ฆ๋ช
์ด๋ค. ๋ ๋งค์นญ์ ๋์นญ์ฐจ๊ฐ ์ํ๊ณผ ๊ฒฝ๋ก๋ก ๊ฐ๋ผ์ง๋ค๋ ๋ฐ์ ๋ฒ ๋ฅด์ฃผ์
๋ณด์กฐ์ ๋ฆฌ๊ฐ ๋์ค๊ณ , ์ฆ๊ฐ๋ ์ฑ๋ถ ํ๋๋ฅผ ์์ ๋ฉด์ ๋ ์งง์ ๊ฒ์ ๋ง๋ค์ง ์์ผ๋ฏ๋ก
๊ฒฝ๋ก ๊ธธ์ด๊ฐ ์๊ฒฉํ ๋๊ณ , rํ๊ฐ ์ง๋๋ฉด ๋งค์นญ์ด ์ด๋ฏธ ์ต์ ์ r/(r+1)์ด๋ฏ๋ก ํ์๋
2ยทsqrt(s)๋ก ๋ฌถ์ธ๋ค. ํฌ๋์ค์
goto enter_level๊ณผgoto advance๋continue๊ฐ ๊ณง ์ ์ง์ธ ๋ฐ๋ณต๋ฌธ ํ๋๊ฐ ๋์๋ค. ์๋ณธ์ ๋์ ๋ง๋ถ์๋ค. ํฌ๋์ค๋ ๊ธธ์ด 2k-1์ธ ๊ฒฝ๋ก์ ๋ฑ๊ธ์ k๋ก ์ ์ํด ๋๊ณ ๋ ๊ทธ๋ณด๋ค ํ๋ ์์final_level์ ์ฐ๊ณ (๋์ค์ ๊ทธ๊ฒ์ ๋๊ณ ๋ ผํ๋๋ฐ), ์ฎ๊ธด ํ์ ์ ์๋ฅผ ํ๋ ๊ณจ๋ผ ๊ทธ๋ ๋ค๊ณ ๋ฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก ์คํจํ ๋๋น ์ฐ์ ํ์์ด ๊ต๋๋ก ๋ฟ์ ์ ์๋ ์งํฉ์ ์ด๋ฏธ ์ ํด ๋์์ผ๋ฏ๋ก, ํ๋ก๊ทธ๋จ์ ๋งค์นญ๊ณผ ํฌ๊ธฐ๊ฐ ๊ฐ์ ์ต์ ๊ผญ์ง์ ๋ฎ๊ฐ๋ฅผ ํจ๊ป ๋ด๋์ ์ ์๋ค. ๋ต์ด ์ต์ ์์ ๋์ผ๋ก ํ์ธํ ์ ์๋ ์พจ๋๊ทธ ์ฆ์๋ค. C ์๋ณธ๊ณผ ๋ฌด์์ 1200๊ฐ์์ ๋ง์ถฐ ๋ณด์๋ค. ๋งค์นญ๊ณผ ํ์์ dag์ ํธ๊ฐ ๋ชจ๋ ๊ฐ๊ณ , ๋ฐ๋ก ๊ตฌํํ ๊ฒ๊ณผ๋ ๊ต์ฐจ ํ์ธํ์ผ๋ฉฐ, ๋ฎ๊ฐ๋ ๋ชจ๋ ์ณ๊ณ ํฌ๊ธฐ๋ ์ ํํ๋ค. ๋ง์ง๋ง ์ฅ์ ํฌ๋์ค๊ฐ ๋์ ๋จ๊ธด ์ฐ์ต ๋ฌธ์ , ๊ณง 1ํ๋ ๋ฐ๋ก ๋น ๋ฅด๊ฒ ๊ตฌํํ ๋งํ๋ค๋ ์ด์ผ๊ธฐ๋ฅผ ๋ค๋ฃฌ๋ค. ์ ๋ง ๊ทธ๋ ๊ณ , ๊น๋ญ์ 1ํ์์final_level์ด ๋ฐ๋์ 0์ด๋ผ ๊น์ด ์ฐ์ ํ์์ด ๋ด๋ ค๊ฐ์ง ์๊ณ , ๊ทธ๋์ ๊ทธ ํ ์ ์ฒด๊ฐ ํธ t๊ฐ์ง๋ฆฌ dag๋ฅผ ์ผ๋ค๊ฐ ๊ณง๋ฐ๋ก ๋์ฝ๋ ๋จผ ๊ธธ์ ๋์ ์์ฌ์์ด ๊ทน๋ ๋งค์นญ์ ์ง๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๊ฒ์ ์์ฌ์์ด ์ฌ๋ ์ค๋ก ๋ฐ๊พธ๋ฉด 1ํ๊ฐ 4๋ฐฐ์ฏค ๋นจ๋ผ์ง๊ณ (์คํ ์๊ฐ์ 69%๋ฅผ ์ฐจ์งํ๋ ๊ฒ์ด 41%๋ก) ๋งค์นญ ์ ์ฒด๊ฐ 1.6~2.3๋ฐฐ ๋นจ๋ผ์ง๋ค. ๋์ ์์ ๋งค์นญ์ด ๋ฌ๋ผ์ ธ ๋ค์ฏ์ ํ๋์ฏค์ ํ์๊ฐ ์ด๋ฆฌ์ ๋ฆฌ ๋ฐ๋๋ค. ํ๋๊ทธ ๋ค์ ๋์์ผ๋ ๊ธฐ๋ณธ๊ฐ์ ํฌ๋์ค์ ์ถ๋ ฅ์ ๊ทธ๋๋ก ๋์ด๋ฆฐ๋ค. MetaPost ๊ทธ๋ฆผ ์ . -
hyperbolic.w โ 36ยฐ-45ยฐ-90ยฐ ์ผ๊ฐํ์ผ๋ก
์๊ณก ํ๋ฉด์ ๋ฎ๋ ์ ์ผํ ํ์ผ๋ง์ ์
ํ๋ค. ์ ์ ์๋ฐ ํ๋ฉด์ ์๊ณ , "์ง์ "์
์ค์ถ์ ์ค์ฌ์ ๋ ๋ฐ์์ด๋ฉฐ, ํ์ผ๋ง ์ ์ฒด๋ ์ผ๊ฐํ ํ๋์์ ๊ผญ์ง์ ์ ๋ง์ํธ ๋ณ์
๊ฑฐ๋ญ ๋น์ถ์ด(์์ ๋ํ ๋ฐ์ ) ์๋ผ๋๋ค. ์ผ์ ์ฌ๋ถ ๊ณ ๋ฆฌ ํ๋๋ก ์ค์ด๋ฉด ํ๋ฉด ์ ์ฒด์
์ผ๊ฐํ 301๊ฐ๋ฉด ๋๋ํ๋ฐ, ๊ทธ ์ ํ์ ๊ณต์ง๋ก ๋ง๋๋ ์๋ น์ ์ค์ฌ์ด 0์ธ ์์ง "์"์
๋๊ณ ์๊ณ ๋ฆฌ์ฆ์ด ๊ทธ๊ฒ์ ๋์ง ์๋๋ก ํ๋ ๊ฒ์ด๋ค. ์ด ์ผ๊ฐํ ์ด ๊ฐ๊ฐ ์ ์ค๊ฐํ์
์ด๋ฃจ๋ ๋ง๋ฅด๊ฒ์ํ
๋ฅธ์ ์ค๊ฐ ๊ฒฉ์๊ฐ ๋ชจ์ต์ ๋ฐ๊พผ ๊ฒ์ด๊ณ , ์์ ์ขํ์ ํฉ๊ธ๋น๊ฐ
๋ง๋
ํ ๋ํ๋๋ค. ํฌ๋์ค๊ฐ ์ด์ ์
์ ์ธ ๋ฒ ๋ฐ๋ก ์ฐ๊ณ ํธ 667๊ฐ๋ฅผ ์์ผ๋ก
.mpํ์ผ์ ์ฎ๊ฒจ ์ ์ ์๋ฆฌ์์, ์ฎ๊ธด Goํ์ ์ ์ ์ฒจ์ ๋ถ์ ๋ฐ๋ณต๋ฌธ ํ๋๋ก ์ ๊ณ MetaPost๋ฅผ ์ค์ค๋ก ๋ฝ์๋ธ๋ค. ํธ 667๊ฐ๊ฐ ๋ชจ๋ ๊ทธ์ ๊ฒ๊ณผ ์ฐํ ๋ง์ง๋ง ์๋ฆฌ๊น์ง ๊ฐ๋ค. ๋ฐํ ์ขํ๋ ์ปดํ์ผ๋ฌ๊ฐ ๊ณฑ์ ๊ณผ ๋ง์ ์ ๋ค๋ฅด๊ฒ ์ตํฉํ๋ ํ์ 3.3e-13๊น์ง ๋ค๋ฅธ๋ฐ๋ ๊ทธ๋ ๋ค. ๊ทธ๋ฐ๋ฐ๋ ๋๊ฐ์ ํ์ผ๋ง์ด ๋์ค๋ ๊ฒ์ด์ผ๋ง๋ก ์ด๋ฆํ ์ด์ง ํ์ ์ฌ์ ์ ๋ ๊น๋ญ์ด๋ค. MetaPost ๊ทธ๋ฆผ ๋ท. - infty-queens.w โ ๋์๋ ์ฒด์คํ์ ๊ฐ๋ก์ค๋ง๋ค ์์ ์ฌ์๋ค์๊ฒ ์กํ์ง ์๋ ๊ฐ์ฅ ์ผ์ชฝ ์นธ์ ์ฌ์์ ๋์ ๊ฐ๋ ํ์ ์์ด(OEIS A065188)์ ๊ณ์ฐํ๋ค. Sloane๊ณผ Shallit์ด ๋ฐํ ํฉ๊ธ๋น ๊ตฌ์กฐ ๋์ ๋นํธ ๋ฒกํฐ ์ ์์ ๋ช ์นธ๋ง ๋ณด๋ฉด ๋๊ณ , nฯ์ ๋ถ์ ๋ถ๋ถ์ ์ ํผ๋ณด๋์น ํํ์ ๋นํธ ๋ฌด๋ฌ๋ก ๋ค๊ณ ๋ค๋๋ฉฐ ์ด๊ธ๋จ์ ์ ํํ ์ฐ๋ค. ํฌ๋์ค์ 2017๋ CWEB ํ๋ก๊ทธ๋จ์ ์ฎ๊ฒผ๋ค. ์๋ณธ ์ฒซ ๋ฌธ๋จ์ ์ ์๋ ์์ด์ qโ๋ถํฐ ์ธ์ด ํ๋ก๊ทธ๋จ๊ณผ ์ฒจ์๊ฐ ํ๋ ์ด๊ธ๋๊ณ , 9ฯ์ ์์ ์์ ์ฒจ์์ ๋ถํธ๊ฐ ํ๋ ค ์ ํ ๋๋ก ์ ํ๋ฉด 5.51์ด ๋์ค๋๋ฐ, ๋ ๋ค ๊ณ ์ณค๋ค. ์์ n์ ๊ฑฐ์ ํ๊ณ , 13์ต์ฏค์ ๋์ผ๋ฉด int๊ฐ ๋์น๋ ๋ฐฐ์ด ํฌ๊ธฐ๋ 64๋นํธ๋ก ์ ํ๋ค. ์๋ณธ๊ณผ ์ธ์ 317๊ฐ์ง ๊ฐ์ด๋ฐ ์ผ๋ถ๋ฌ ๊ณ ์น ์์ ๋๋ง ๋นผ๊ณ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. MetaPost ๊ทธ๋ฆผ ํ๋.
-
koda-ruskey.w โ ์ฒ ํฌ์
์ ์ด์์
๋ชจ๋ ๋ง๋ค์ด ๋ธ๋ค. ๊ณง ๋ถ๋ชจ๊ฐ 1์ผ ๋๋ง ์์์ด 1์ผ ์ ์๋ ๋นํธ์ด ๋ชจ๋๋ฅผ, ํ
๊ฑธ์์ ๋นํธ ํ๋๋ง ๋ฐ๋๋ ์ผ๋ฐํ๋ ๋ฐ์ฌ ๊ทธ๋ ์ด ๋ถํธ๋ก ๋์ด๋๋๋ค. ๊ฐ์ ์์ด์
๋ ๊ฐ์ง๋ก ๊ตฌํํด ๋๋ํ ๋๋ค. ํ๋๋ ๋ง๋๋ง๋ค ์ฝ๋ฃจํด ํ๋๋ฅผ ๋๋ ๊ฒ์ด๊ณ , ๋ค๋ฅธ
ํ๋๋ ํ ๊ฑธ์์ด ์ธ์ ๋ ๋ค ๊ณ ๋ฆฌ์ง๋ฆฌ ๋ณ๋๋ฆฌ์ ๋ํ ์ ํด์ง ์์ ์ฐ์ฐ์ธ ๋ฌด๋ฐ๋ณต
๊ตฌํ์ด๋ค. CWEB ์๋ณธ์ด ์ด ๊ฐ์ง ์ํ์
switch๋ก ์ฝ๋ฃจํด์ ์์ ํ๋ด ๋ด๋ ์๋ฆฌ์์, ์ฎ๊ธด ํ์ ๊ทธ๊ฒ์ ๋ฒํผ ์๋ ์ฑ๋์์ ๋ง๋๋ ๊ณ ๋ฃจํด์ผ๋ก ์ ๋๋ค. ๊ทธ๋์ ์ฌ์ฏ ์ค์ง๋ฆฌ ์ฝ๋ฃจํด ๋ชธํต์ด ๊ทธ๋๋ก ์ด์๋จ๋๋ค. MetaPost ๊ทธ๋ฆผ ์ . -
li-ruskey.w โ ์์
koda-ruskey์ ์ํธ์ด๋ค. ์ด์ ์ ์ฝ์ ๋ฐฉํฅ์ด ์์ผ๋ฏ๋ก ์ ๋ ฅ์ ์ฒ ํฌ์ ์ด ์๋๋ผ ์์ ๋น์ํ์ธ ๋ฐฉํฅ ๊ทธ๋ํ ์๋ฌด๊ฒ์ด๋ ๋๊ณ , ํ ์ผ์x โ y โน ๋นํธ x โค ๋นํธ y๋ฅผ ์งํค๋ 0/1 ๋ผ๋ฒจ๋ง์ ๋ชจ๋, ๋ฟ๋ฆฌ ๋นํธ๊ฐ ๋ฑ ํ ๋ฒ ๋ค์งํ๋ ๊ทธ๋ ์ด ๊ฒฝ๋ก๋ก ๋์ด๋๋ ๊ฒ์ด๋ค. ์ค์ยท์ค์ ๊ผญ์ง์ ์งํฉ, ๋ฐ์ชฝ ๊ฒฝ๋ก ๋์ ํ๋๋ก ์๋ ํผํฉ ๊ธฐ์ ๋ฐ์ฌ ๋ถํธ, ๋ธ๋ฆผ๋ค๊ณผ ์ ์ด ๋ฌธ์์ด, ๊ทธ๋ฆฌ๊ณ ๋์๋ค๋๋ ํ๋๊ทธ ๋ค์ ๋ก์ ๊ณ ๋ฆฌ๋ฅผ ๋จ๊ฒจ ๋๋ ๊ฒ์ผ๋ก ๋ฌด๋ฐ๋ณต์ ์งํค๋ ๋ณ๋๋ฆฌ๊ฐ ๋์จ๋ค. ํฌ๋์ค๋ ์ฝ๋ฃจํด ํ์ ์ฐ์ต ๋ฌธ์ ๋ก ๋จ๊ธฐ๋ฉฐ ๋ถ๋ชจ ํฌ์ธํฐ๊ฐ ๋์ ์ด์ด์ผ ํ ๊ฒ์ด๋ผ๊ณ ํ๋๋ฐ, ์ฎ๊ธด ํ์ ๊ทธ ์ฐ์ต ๋ฌธ์ ๋ฅผ ๊ณ ๋ฃจํด์ผ๋ก ํผ๋ค. ๊ฑฐ๊ธฐ์๋ ์ด๋ ค์์ด ์ฆ๋ฐํ๋ค(ํธ์ถ ์คํ์ด ๊ณง ๋ถ๋ชจ ํฌ์ธํฐ๋ค). ์ฝ๋ฃจํด๋ง๋ค ์ฒ์ ๊นจ์ด๋ ๋ ์ ๋นํธ๋ฅผ ์ฝ์ด ๋ค์ด๊ฐ ์๋ฆฌ๋ฅผ ๊ณ ๋ฅธ๋ค. ๋ ๊ตฌํ์ด ํ ํ๋ก๊ทธ๋จ ์์์ ๋๊ณ ,-v์ถ๋ ฅ๊น์ง CWEB ์๋ณธ๊ณผ ์ค ๋จ์๋ก ๊ฐ๋ค. MetaPost ๊ทธ๋ฆผ ๋ท. - lp.w โ ํฌ๋์ค๊ฐ ์ฌํ๋ ์ค ์๊ณ ๋ฆฌ์ฆ์ ๋ชธ์ผ๋ก ์ตํ๋ ค๊ณ ์ง ์ ํ ๊ณํ ํ๋ก๊ทธ๋จ(2005)์ด๋ค. ์ฌ์ ๋ณ์๋ฅผ ๋ฃ์ ํ์์ 0ํ์ด ๋ชจ๋ ์ ์๋ ์๊ฐ ๋ ๋๊น์ง ํผ๋ฒํ๊ณ , ํผ๋ฒ ํ์ ์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ์์ r_i/a_ij๋ก ๊ณจ๋ผ ๋ํ์ด๋ฅผ ํผํ๋ค. ์ ์ ํ(์ด๋ง๋ค ๋ฐฐ์จ์ ๋์ด ๋ถ์๋ฅผ ํผํจ)์ ๋ถ๋์์์ ํ๋ฅผ ๋๋ํ ๋๋ ค ์๋ก ํ์ธํ๊ณ , ์๋ ๋ฌธ์ ์ ํด๋ ํจ๊ป ์ฝ๋๋ค. ์๋ณธ์ ๊ฒฐํจ์ ๊ณ ์ณค๋ค. ์์ ์์ํญ ๊ฒ์ฌ๊ฐ ์๋ฑํ ์นธ์ ์ฝ์ด ํด ์๋ ๋ฌธ์ ์ ์ํฐ๋ฆฌ ๋ต์ ๋ด๋ ๊ฒ, ์ซ์๊ฐ ์๋ ๊ธ์์์ ๋์์ด ๋๋ฉฐ ๋ฐฐ์ด ๋ฐ์ ์ฐ๋ ๊ฒ, ์ค๋ฐ๊ฟ ์๋ ๋ง์ง๋ง ์ค์ ๊ฑฐ์ ํ๋ ๊ฒ, long์ %d๋ก ์ฐ์ด 2ยณยน ์ด์์ด ์๋ฆฌ๋ ๊ฒ, ์ ์ ๋ฐฉ๋ฒ์ 64๋นํธ ๋์นจ์ ๋ชจ๋ฅด๋ ๊ฒ์ด๋ค. ์ค๋ช ์ ์๋ ํ์ ์์ ์๋ชป ์ฌ๋ฟ๋ ๋ฐ๋ก์ก์๋ค. ๋ฌด์์ ๋ฌธ์ 1000๊ฐ์์ ์ต์ ํด 418๊ฐ๋ฅผ ์๋์ฑ ์ฆ๋ช ์๋ก ํ์ธํ๊ณ , ๋์น์ง ์์ 839๊ฐ๋ ์๋ณธ๊ณผ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค.
-
matula.w โ ์์ ๋๋ฌด S๊ฐ ์์ ๋๋ฌด T์
๋ถ๋ถ ๋๋ฌด์ ๋ํ์ธ๊ฐ? ๋ถ๋ถ ๊ทธ๋ํ ๋ํ์ ์ผ๋ฐ์ ์ผ๋ก NP-์์ ์ด์ง๋ง(ํด๋ฆญ๊ณผ
ํด๋ฐํด ๊ฒฝ๋ก๊ฐ ํน์ํ ๊ฒฝ์ฐ๋ค), ๋๋ฌด์ ๋ํด์๋ ๋ฐ์ด๋น๋ ๋งํด๋ผ์ 1978๋
์๊ณ ๋ฆฌ์ฆ์ด O(mnยทsqrt(์ต๋ ๋ด๋ถ ์ฐจ์))์ ๋งค๋ญ์ง๋๋ค. ์ด๊ฒ์
hopcroft-karp.w ๋ฐ๋ก ๋ค์์ ์ฝ์ ๊น๋ญ์, ์์ชฝ ๋ฐ๋ณต๋ฌธ์ด ๊ณง
์ด๋ถ ๋งค์นญ์ด๊ธฐ ๋๋ฌธ์ด๋ค. S์ ๋ง๋ p๊ฐ T์ v์ ๋ฐํ๋ ๊ฒ์ ์ ํํ p์ ์์๋ค์
v์ ์๋ก ๋ค๋ฅธ ์ด์์ ์ง์ง์ ์ ์์ ๋์ด๊ณ , ๋งํด๋ผ์ ํต์ฐฐ์ ๊ทธ ๋ถ๋ถ ๋ฌธ์ ์
s+1๊ฐ์ง ํ(์ด๋ ์ด์์ด ๋ถ๋ชจ ๋
ธ๋ฆ์ ํ๋๊ฐ์ ๋ฐ๋ผ)์ด ํ๋๋ก ๋ฌด๋์ ธ n๋ฐฐ๋ฅผ
์๋๋ค๋ ๊ฒ์ด๋ค. ํฌ๋์ค๋ ๋งค์นญ ์ฝ๋๋ฅผ HOPCROFT-KARP์์ ํ์ณ ์๋ค๊ณ ์ ์๋๋ฐ,
์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๋ง ์ฎ๊ธด ์ฐธ์ด์๋ค. ์ ์ ์ ๋งํด๋ผ์ ์ ๋ฆฌ 3.4๋ค. ์์ ๋งค์นญ์์
ํ๋ ค๋ ์ ์๋ ์ฒ๋
๋ค์ ์ ํํ HK๊ฐ ๋ฉ์ถ ๋ ๋๋น ์ฐ์ ํ์ ๋จ์ ์๋
๊ฒ๋ค์ด๋ฏ๋ก, ๋ต์ ์ด๋ฏธ dag ์์ ๋์ฌ ์๋ค. ํฌ๋์ค์ mems๋ฅผ ๋ฌ์ ๋์๊ณ , ์ฎ๊ธด
ํ์ ๊ทธ ์๋ฅผ ์ ํํ ๋์ด๋ฆฐ๋ค. ๊ทธ ์์ ์ ์์์ 1917+14760, ๊ทธ๋ฆฌ๊ณ ๋ฌด์์ ๋๋ฌด
์ 1100๊ฐ์์ ๋ต๊ณผ ์ฐํ ๋ฐ์๊ณผ mem ์๊ฐ ๋ชจ๋ ๊ฐ๋ค. ๊ฑฐ๊ธฐ ๋ฟ๊ธฐ๊น์ง ์กฐ์ฌํ ๊ฒ์ด
์์๋ค. C์ ์ผํ ์ฐ์ฐ์๋ ์์ ๋ถ์ธ
mems++๊ฐ ๋๊ฑฐ๋mems, k = mems+1, next[k]๊ฐ์ ๋ค์ค ๋์ ์ด ๋๊ณ ,&&์์ ๋์ธo๋ ๋ ์กฐ๊ฑด ๊ฐ์ด๋ฐ ํ๋์๋ง ๋งค๊ฒจ์ง๋ค. ๊ทธ๊ฒ์ ๋์ณ ์ ๋ น mems 119๋ฅผ ์ป์ ์ ์ด ์๋ค. ์ฎ๊ฒจ ์จ ํ์๋ ์ง์ง ๊ฒฐํจ๋ ์์๋ค. ๋ฐฐ์ดthresh๋ maxn๊ฐ๋ก ์ ์ธ๋์๋๋ฐ T์ ์ต๋ ์ฐจ์๊ฐ 61์ผ ๋ ์ฒจ์ maxn์ผ๋ก ์ฝํ๊ณ , ๊ทธ๊ฒ์ ์ฑ์ฐ๋ ๋ฐ๋ณต๋ฌธ์ T์ ์ต๋ ์ฐจ์๊ฐ S์ ๋ง๋ ์์ ์ด๋ฅผ ๋๋ง๋ค solve()๊ฐ ํ์๋ก ํ๋ ์นธ์ ๋ฏธ์น์ง ๋ชปํ ์ฑ ๋ฉ์ถ๋ค. ์ด๊ฒ์ด ํ ์์ด ์ง๋๊ฐ ๊ฒ์ ์ด์ํ ๋ฑ๋ง์ด ๋ง์นจ 0์ ๋ด๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฑฐ๊ธฐ์ ๊ฐ์ ์ฌ์ด ๋๋ฉด ์ ์ฝ๋๋ 61์ด ์ณ์ ์๋ฆฌ์์ 62๋ผ๊ณ ๋ตํ๋ค. ํฌ๋์ค๋ ์ด ๊ธ์ ์ฐ๋ ๋์์ธ 2026-08-21์ ํ์ผ์ ๊ณ ์ณค๊ณ , ๋ฐ๋ก ๊ทธ ๋ ๊ณณ์ ์๋ณด์๋ค. ๋ฐฐ์ด์ ์ฌ๊ธฐ์์ฒ๋ผ ํ ์นธ ๋์๊ณ , ๋น ์ง ์๋ฆฌ๋ ๊ฐ์ ๋น์ฉ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์ฑ์์ ธ, ์ด์ ์ํํ ๋ชจ๋ ์ ๋ ฅ์์ mem ์๊ฐ ๊ทธ์ ๊ฒ๊ณผ ๊ฐ๋ค. ํฌ๋์ค๋ ์ ํ๋ก๊ทธ๋จ ๊ณ์ ๋ณ๊ฒฝ ํ์ผ ์ ์ ๋๋๋ฐ, ์ ๋ชจ๋ ์ฌ๊ธฐ์ ์ฎ๊ฒจ ๋์๋ค. matula-big.ch๋ ๋ช ๋ น์ค์ ๋ถ๋ชจ ํฌ์ธํฐ ๋ฌธ์์ด์ rectree ํ์ผ๋ก ๋ฐ๊พธ์ด maxn์ 62์์ 2000์ผ๋ก ํค์ด๋ค. ๊ทธ ํ์์ S์ ๋ฟ๋ฆฌ๊ฐ ์์ด๋ผ๊ณ ์ฝ์ํ์ง ์์ผ๋ฏ๋ก S๋ฅผ ๋ค์ ๋ฟ๋ฆฌ๋ด๋ฆฌ๊ณ ์์์ ๋ฒํธ๋ฅผ ์๋ก ๋งค๊ธด ๋ค, ์ฌ์ฉ์์๊ฒ๋ ๊ทธ์ ๋ฒํธ๋ก ๋๋ ค์ค๋ค. matula-big-planted.ch๋ T๋ง ๋ฐ์ ๊ฑฐ๊ธฐ์ ๋ฌด์์๋ก ์ d๊ฐ๋ฅผ ์ง์ S๋ฅผ ๊ธฐ๋ฅธ๋ค. SGB์gb_flip์ go-sgb๋ก ์ฐ๋ฏ๋ก ๊ฐ์ ์จ์์ด๋ฉด ํฌ๋์ค์ C์ ๊ฐ์ ์์ ์ง์ด๋ค. ๊ทธ๋ฌ๋ฉด S๋ ๋ฐ๋์ ๋ถ๋ถ ๋๋ฌด์ด๊ณ , ๋ฌผ์์ ์๊ณ ๋ฆฌ์ฆ์ด ๊ทธ๊ฒ์ ์ผ๋ง๋ ๋นจ๋ฆฌ ์ฐพ๋๋๊ฐ ๋๋ค. ์ ์ฉ์ CWEB์์ ํ๋ ๋๋กgtangle matula.w matula-big.ch. ๋ ๋ค ํฌ๋์ค์ C์ mem๊น์ง ๊ฐ๋ค. ๊ทธ์ ์์์ 3221+14939์ 5750+36561์ด๊ณ , ๋ฌด์์ ๋๋ฌด ์ 660๊ฐ์ ๋ฌด์์ ๋๋ฌด 500๊ฐ์์ ๋ต๊ณผ ์ข ๋ฃ ์ฝ๋์ mem ์๊ฐ ๋ชจ๋ ๊ฐ๋ค. ์ฌ์ ํ์ ์ฐ๋ฌธ์ ๊ทธ๊ฒ์ด ๊ณ ์ค๋ํ ๋ฌผ๋ ค๋ฐ์ ๊ฒฐํจ๋ ์ ์ด ๋๋ค. ๋ฟ๋ฆฌ ์์ ์ด ์ง์์ง๋ฉด ์์ง ๊ณ ์น์ง ์์childํฌ์ธํฐ๊ฐ ์ด๋ฏธ ์ง์์ง ๋ง๋๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์๊ณ , ๊ทธ๋ฌ๋ฉด ๋ ํ๋ก๊ทธ๋จ ๋ชจ๋ "I'm confused!"๋ก ๋ฉ์ถ๋ค. ๋ง๋ 127๊ฐ ๊ฐ์ด๋ฐ 124๊ฐ๋ฅผ ์ง์ธ ๋ ์จ์ 200๊ฐ ๊ฐ์ด๋ฐ 134๊ฐ๊ฐ ๊ทธ๋ ๋ค. matula-exhaustive.ch๋ ๋ช ๋ น์ค์ ๋๋ฌด ๋์ ๊ฐ์ ๋๋ก ๋ฐ๊พธ์ด, ๋ง๋๊ฐ m๊ฐ์ธ ์์ ๋๋ฌด์ n๊ฐ์ธ ์์ ๋๋ฌด์ ๋ชจ๋ ์์ ๋๋ฆฐ๋ค. ๊ทธ๋์ maxn์ด 62์์ 16์ผ๋ก ๋ด๋ ค๊ฐ๋ค. ์์ ๋๋ฌด๋ฅผ ์ ํํ ํ ๋ฒ์ฉ ์ป๋ ๊ฒ์ด ์ฌ๋ฏธ์๋ ๋๋ชฉ์ด๋ค. ๋ฐฉํฅ ์๋ ์ฒ์ ์ ๊ท ์ธต ์์ด๋ก ๋ง๋ ํธ๋ผ์ด(TAOCP ์ฐ์ต ๋ฌธ์ 7.2.1.6โ90)๊ฐ ์ค์ฌ ๋๋ฌด๋ฅผ ์ฃผ๊ณ , ์ ๋ฐ ํฌ๊ธฐ ์ฒ์ ์์ด ์ด์ค ์ค์ฌ ๋๋ฌด๋ฅผ ์ค๋ค. ํฌ๋์ค๋ ๊ทธ ์ฅ์น๋ฅผ S์ฉ๊ณผ T์ฉ์ผ๋ก ๋ ๋ฒ ์ฐ๋๋ฐ, ์ฌ๊ธฐ์๋first/next/nth๋ฅผ ๊ฐ์ถfamilyํ์ ํ๋์ด๊ณ , ๊ทธ ๋์ ๊ทธ์make_?string๋๋ ํ๋๋ก ํฉ์ณ์ง๋ค. ์๋ง๋ค mems์ ์ฐํผ๋ ํ๊ท ๊ณผ ๋ถ์ฐ, ๊ฐ์ฅ ์ด๋ ค์ด ์, ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ๋ง์ด ๋ ๊ฐ์ฅ ์ ๊ฒ ๋ฐํ๋ ๋๋ฌด๋ฅผ ๋ณด๊ณ ํ๋ค. ๋๋ฌด ๊ฐ์์ ๊ณฑ์ด 200000 ์ดํ์ธ (m, n) ์ 79๊ฐ์ง ๋ชจ๋์์ C์ ๋ง์ถฐ ๋ณด์๊ณ , ์ถ๋ ฅ๊ณผ ์ข ๋ฃ ์ฝ๋์ mems๊ฐ ๊ฐ๋ค. ์ด๋ฅผํ ๋ฉด m = n = 8์์ 2407+426125๋ค. MetaPost ๊ทธ๋ฆผ ์ . - maxcliques.w โ ๋ง๋๊ฐ 64๊ฐ ์ดํ์ธ ๊ทธ๋ํ์ ๊ทน๋ ํด๋ฆฌํฌ๋ฅผ ๋ชจ๋ ์ฐพ๋๋ค. Moody์ Hollis์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ์ธ์ ํ๋ ฌ์ ํ ฯ_v์ ์๋ฆฌ v๋ง ๋ ฮด_v๋ฅผ ๋ง๋๋ง๋ค ๊ณจ๋ผ ๋นํธ๋ณ๋ก ๊ต์ฐจํ ๊ฒ ๊ฐ์ด๋ฐ ๊ทน๋์ธ ๊ฒ๋ง ์์ ๊ณต๊ฐ์ ๋ค๊ณ ๊ฐ๋ค. ๊ฐ์ฅ ๋ฎ์ ์ผ์ง ๋นํธ๋ ๋ ๋ธ๋ผ์ ๊ณฑ์ผ๋ก ์ฐพ๋๋ค. ํฌ๋์ค์ 2008๋ CWEB ํ๋ก๊ทธ๋จ์ ์ฎ๊ธฐ๋ฉฐ ์๋ณธ์ ๊ฒฐํจ ๋ท์ ๊ณ ์ณค๋ค. ๋ง๋ ์๋ ๊ทธ๋ํ์์ ์์๋งํผ ๋ฐ์ด ์๋ ๋ง๋ ์ด๋ฆ 64๊ฐ๋ฅผ ์ฝ๋ ๊ฒ, ํก์ํ๋ ๊ฐ์ง์์ ์์ ๊ณต๊ฐ ์ฌ์ฉ๋์ ์ ๊ฒ ์ฌ๋ ๊ฒ, ์์ ๊ณต๊ฐ์ด ๋์น๋ฉด ๋ ๋ฌด๋ฆฌ๊ฐ ์๋ก ๋ฎ์ด์จ ํ๋ฆฐ ๋ต์ ์กฐ์ฉํ ๋ด๋ ๊ฒ(๋ง๋ 33๊ฐ์ง๋ฆฌ ๋ฌธโ๋ชจ์ ๊ทธ๋ํ์์ 177147๊ฐ ๋์ 87499๊ฐ), mems๊ฐ 32๋นํธ์์ ํ ๋ฐํด ๋๋ ๊ฒ์ด๋ค. BronโKerbosch์ ๊ทธ๋ํ 75๊ฐ์์ ๋ง์ถฐ ๋ณด์๊ณ , ๊ณ ์น CWEB ์๋ณธ๊ณผ ๊ทธ๋ํ 85๊ฐ์์ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค.
-
nqueens-somers.w โ N ์ฌ์ ๋ฌธ์ ์ ํด๋ฅผ ์ธ๋ ์ ํ ์๋จธ์ฆ์
๊ธฐ๋ฒ(2002)์ ์ฎ๊ธฐ๋ฉด์ ํ๋ํ๋ ํ์ด ์ค๋ช
ํ๋ค. ํ์ ํ ์ค์ N๋นํธ ์ ์๋ก
๋ํ๋ด๊ณ , ๋๊ฐ์ ์ ์ํ์ ์ค๋ง๋ค ํ ์นธ์ฉ ๋ฐ์ด ๋นํธ ์๋ฆฌ๊ฐ ๊ณง ๋งํ ์นธ์ด ๋๊ฒ
ํ๊ณ , ๋์ ๋ณผ ์นธ์
-x & x๋ก ๋ฝ๊ณ , ๊ฑฐ์ธ ๋์นญ์ผ๋ก ์ผ์ ์ ๋ฐ์ผ๋ก ์ค์ด๋ ํ์ ํ์ ๊ฐ์ด๋ฐ ์นธ์ ๋ฐ๋ก ๋ค๋ฃจ๊ณ , ์ฌ๊ท ๋์ ๋ช ์์ ์คํ์ ์ด๋ค. MetaPost ๊ทธ๋ฆผ ์ . ์๋ณธnq.c์ N=18๊น์ง ํด์ ์๊ฐ ๊ฐ๊ณ ,-p๋ก ์ฐ๋ ํ์ ์๋ณธ๊ณผ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. ์๋ณธ์ ๊ทธ๋๋ก ์ฎ๊ธฐ๋ฉด Go์์ 30% ๋๋ฆฐ๋ฐ, ๋ฐฉ๊ธ ๋ฐฐ์ด์ ์ ์ ๊ฐ์ ๋๋ก ์ฝ๋ ํ ๊ณณ์ด ์์ธ์ด๋ผ ๊ณ ์ณค๋ค. ๊ทธ๋ฌ๊ณ ๋๋ฉด ๋ช ์์ ์คํ๊ณผ ์ฌ๊ท๊ฐ ๊ฑฐ์ ๋น๊ธด๋ค. ์ง์ด ๋๋ ๋ณ๊ฒฝ ํ์ผ nqueens-somers-par.ch(gtangle nqueens-somers.w nqueens-somers-par.ch)๋ ์ฒซ ๋ ์ค์ ์ฌ์ ์ง์ ์์ ์ผ๋ก ์ผ์ ๊ณ ๋ฃจํด๋ค์ ๋๋ ์ค๋ค. ๊ฒฐ์ ์ ์ธ ๋ฐ๋ณต๋ฌธ์ ํ ๊ธ์๋ ๋ฐ๊พธ์ง ์๊ณ , ์ฝ์ด 10๊ฐ์์ N=18์ด 186์ด์์ 27์ด๋ก ์ค๋ค. - ntt.w โ ๊ณ ์ ํธ๋ฆฌ์ ๋ณํ๊ณผ ๊ทธ ์ ์ ์ฌ์ด์ธ ์๋ก ๋ณํ์ผ๋ก ๊ฐ๋ ์น์ ํ ๊ธธ์ก์ด. ๊ฐ๋งค๊นโ๊ณฑ์ โ๋ณด๊ฐ์ด๋ผ๋ ์ฐํ๋ก, ์ ๊ณฑ์ด 1์ ๊ฑฐ๋ญ์ ๊ณฑ๊ทผ์ ์ ์ด ๋ฌธ์ ๋ฅผ ์ ๋ฐ์ผ๋ก ๋ง๋๋ ๊น๋ญ, ๋นํธ ๋ค์ง๊ธฐ์ ๋๋น ํ๋ก, ์ญ๋ณํ, NTT๊ฐ ํ์ ์ ๋ง๋ก ์๊ตฌํ๋ ๊ฒ(๊ทธ๋ฆฌ๊ณ 998244353 = 119ยท2ยฒยณ+1์ธ ๊น๋ญ), ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฐ์ค(1805)์์ ํ๋น์ ํ๋ฐ๋ฅดํ๋ฒ(2021)์ ์ด๋ฅด๋ ๋ป๋ฐ์ ์ญ์ฌ๋ฅผ ๋ค๋ฃฌ๋ค. MetaPost ๊ทธ๋ฆผ ์ . ์ด ๊ธ์ด ํฅํด ๊ฐ๋ ํ๋ก๊ทธ๋จ์ Library Checker์ Convolution (mod 998244353), ๊ณง O(n log n)์ ๋คํญ์ ๊ณฑ์ ์ ํผ๋ค.
- pairsums.w โ ๋ชจ๋ ๋ถ๋ถ ๋ฐฐ์ด์ ๋ํ ์ ๊ณฑ์ ํฉ ๊ฐ์ด๋ฐ ๊ฐ์ฅ ํฐ ๊ฒ์ ์ฐพ๋๋ค. ํญ๋ฑ์ value = (SยฒโQ)/2์ ๋์ ํฉ ๋นํ๊ธฐ๊ฐ ์ด๊ฒ์ ์ง์ ๊ฐ์กฑ์ ์ ํฌ๋ฝ์ ๋ฌธ์ ๋ก ๋ฐ๊พธ๊ณ , ๋ฆฌ์ฐจ์ค ํธ๋ฆฌ๋ก O(n log n)์ ํผ๋ค.
-
perec.w โ ์กฐ๋ฅด์ฃผ ํ๋ ์ ์ธ์ ์ฌ์ฉ๋ฒ์ ๊ทธ ๋ ์ ์ฝ์์ ๋ค์ ์ง๋๋ค.
์์ค์ 99๊ฐ ์ฅ์ ๋ฐฉ 10ร10 ๊ฒฉ์์ ๋์ดํธ ํฌ์ด๋ฅผ ๋ฐ๋ผ๊ฐ๋๋ฐ, (1,10)์ ์งํ์ค๋ง
๋น ์ง๋ค. ํ๋ ์ด ์ผ๋ถ๋ฌ ๋ธ ํ ์ธ ํด๋ฆฌ๋๋ฉ์ด๊ณ , ๊ทธ ๋๋ฌธ์ 65์ฅ๊ณผ 66์ฅ ์ฌ์ด์
๊ท์น์ ์ด๊ธ๋๋ ๋๊ฐ ๊ฑธ์์ด ํ๋ ์๊ธด๋ค. ํ๋ก๊ทธ๋จ์ SGB์
Board๋ก ๋์ดํธ ํ์ ์ง๊ณ , ์ฎ๊ฒจ ์ ์ ๊ฒ์ ๋ฏฟ๋ ๋์ ํ ์์ ์ ํธ์ ๊ฒฌ์ฃผ์ด ํ๋ ์ ์์๋ฅผ ํ์ธํ๋ค. ๊ฒฌ์ฃผ์ด ๋ณผ ํ ์๋ ํฌ์ด๋ฅผ ์ป์ผ๋ ค๊ณ ๋ฐ๋ฅธ์ค๋๋ฅดํ ๊ท์น๋ ๋๋ฆฌ๊ณ , ์ฅ๋ง๋ค ๋ฌด์์ด ๋ด๊ธฐ๋์ง ์ ํ๋ 10์ฐจ ๊ทธ๋ ์ฝ๋ผํด ๋ฐฉ์ง๋ ๋์ง์ด ์ง๋๋ค(๊ทธ 100์ ๊ฐ์ด๋ฐ 99์์ด ์ฐ์ด๊ณ , ๋น ์ง ํ๋๊ฐ ํด๋ฆฌ๋๋ฉ์ ๋ชซ์ด๋ค). go-sgb๋ฅผ ์ด๋ค. ๊ทธ ์๋ฆฌ์์ luamplib์ด ๊ทธ๋ฆฌ๋ MetaPost ๊ทธ๋ฆผ ์ . -
perfect-partition-square.w โ ๋ง์ดํด
์ผ๋ฌ์ ํผ์ฆ์ ๋ค๋ฃฌ๋ค. 7์ ์ผ๊ณฑ ๊ฐ, โฆ, 1์
์ผ๊ณฑ ๊ฐ๋ฅผ 7ร7 ์ ์ฌ๊ฐํ์ ๋์, ๊ทธ 14๊ฐ ํ๊ณผ ์ด์ด 7์ ๋ ์ด์์ผ๋ก ๋๋ ๋ถํ
14๊ฐ์ง๋ฅผ ๋ชจ๋ ๋ณด์ด๊ฒ ํ๋ผ. ํฌ๋์ค๋ ๋ต์ด ์์์ง ์์ฌํ๋ฉด์ ๋ฌด์ฐจ๋ณ ํ์์ "ํ
์ ์๋ ํ ๋น ๋ฅด๊ฒ" ์จ์ 30885๊ฐ๋ฅผ ๋ณด๊ณ ํ๋ค. ์ฎ๊ธฐ๋ค๊ฐ ๋ต์ ๋ฐ๊พธ๋ ๊ฒฐํจ์
๋ง๋ฌ๋ค. ์์ชฝ ๋ฐ๋ณต๋ฌธ์ ํ๊ณ
1<<(7*l-m)์ด 32๋นํธint๋ฅผ 42๊น์ง ๋ฏธ๋๋ฐ, ์ด๊ฒ์ C์์ ์ ์๋์ง ์์ ๋์์ด๊ณ ์ค์ ๊ธฐ๊ณ์์๋ 42 mod 32 = 10๋งํผ ๋ฏผ๋ค. ๊ทธ๋์ ๋จ์ ์๋ฆฟ์์ ๋์์๊ฐ ๊ฑฐ์ ๋ค ์๋ ์กฐ์ฐจ ๋์ง ์๋๋ค. Go์int๋ 64๋นํธ์ด๋ฏ๋ก ๊ฐ์ ์ค์ด ๊ณต๊ฐ์ ๋ค ํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ ์ด ์ ์ฌ๊ฐํ์๋ ๋ต์ด 16,492,083๊ฐ ์๋ค. ํฌ๋์ค๊ฐ ์ผ ๊ฒ์ ๊ทธ 0.19%๋ค. ๊ทธ ํ์์ ์ฝ์ด ๊ธฐ์ค 57์๊ฐ์ด๋ผ, ์ฎ๊ธด ํ์ ๋ถ๋ถ ๋ฌธ์ 1716๊ฐ๋ฅผ ๊ณ ๋ฃจํด์ ๋๋ ์ฃผ๊ณ ์ ๋ง๋ค์ ๋ต์ ๋ชจ์ ๋์ด ์ฐํ๋ ์ฐจ๋ก๋ฅผ ํฌ๋์ค์ ๊ฒ๊ณผ ๋๊ฐ์ด ์งํจ๋ค(๋ฒฝ์๊ณ๋ก 6์๊ฐ 26๋ถ). ์ธ ๊ฐ์ง๋ก ํ์ธํ๋ค. ๋ฐ๊ธฐ๋ฅผ ๋ค์ 32๋นํธ๋ก ์๋ฅด๋ฉด ์๋ณธ C์ ๋ฐ์ดํธ๊น์ง ๊ฐ๊ณ (์ถ๋ ฅ 308์ค, ์งํ 1716์ค, ๋ต 30885๊ฐ), ๋ถ๋ถ ๋ฌธ์ 38๊ฐ๋ 64๋นํธ๋ก ๊ณ ์น C์ ์ ํํ ๊ฐ์ผ๋ฉฐ, ์ฐํ ๋ต 164,920๊ฐ๊ฐ ๋ชจ๋ ๋ ๋ฆฝ ๊ฒ์ฌ๊ธฐ๋ฅผ ํต๊ณผํ๋ค. ํฌ๋์ค ์์ ์ ๋ฌด์์ ํ์นจ ์ด๋ฆผ์ก๊ธฐ๋ ์ผ์ ํฌ๊ธฐ๋ฅผ ๋ฏธ๋ฆฌ ์ฌ๋๋ฐ, 21% ๋ฎ๊ฒ ์ก์๋ค. -
perm.w โ ํ๋ก์ด๋์ ๋ฌด์์ ๋ฝ๊ธฐ ์๊ณ ๋ฆฌ์ฆ(๋ฒคํ๋ฆฌ์ More
Programming Pearls์์). 1โฆN์์ ์๋ก ๋ค๋ฅธ ์ ์ M๊ฐ๋ฅผ ๊ท ๋ฑํ๊ฒ O(M)์ ๋ฝ๋๋ค.
๋ชจ๋ ๋ถ๋ถ์งํฉ์ด ๊ฐ์ ํ๋ฅ ์ด๊ณ , ์์งํ ๋ฐฉ๋ฒ์ด ๊ฒช๋ ์ถฉ๋ ์ฌ์๋๊ฐ ์๋ค. ์์
perm๋ผ์ด๋ธ๋ฌ๋ฆฌ(์ ์ฑ๋ ๊ธฐ๋ฐ ์์ฑ๊ธฐ)๋ฅผ ์ง๋ ํ๊ธ ๋ฌธํ์ ์์ธ์ด์ด๊ณ , ์ฑ์งยท์ฌํ์ฑยท๋ถํฌยท๋ฒค์น๋งํฌ๋ฅผ ๋ค๋ฃจ๋ ๋๋ํ@(perm_test.go@>๋ฌถ์์ด ๋ธ๋ ค ์๋ค. -
polynum.w โ ๊ณ ์ ๋คํญ์ฒด(ํด๋ฆฌ์ค๋ฏธ๋
ธ)๋ฅผ ์ธ๋ Jensen์ ์ ์ด ํ๋ ฌ
๋ฐฉ๋ฒ์ ํฌ๋์ค๊ฐ ๊ตฌํํ ๊ฒ(2017)์ด๋ค. hรw ์ง์ฌ๊ฐํ์ ์นธ๋ง๋ค ํ์ผ๋ฉฐ, ์ค ๋์ ์ ์ ์
์ฐ๊ฒฐ ์ฑ๋ถ์
0 1 ( ) -๋ค์ฏ ๊ธ์ ์ง์์ผ๋ก ๋ฌถ๊ณ , ์ต์-ํฉ ํ๋ ฌ ๊ณฑ์ ์ผ๋ก ์ ํ ์ฐ๊ฒฐ ๋น์ฉ์ผ๋ก ์ธ๋ชจ์๋ ์ง์์ ์๋ผ ๋ธ๋ค. ์ ์์ฒด๋ ํ์ง ์๊ณ ์ง ํ๋ก๊ทธ๋จ POLYSLAVE๊ฐ ํด์ํ ์ด์ง ๋ช ๋ น์ด ํ์ผ์ ๋ด๋๋๋ค. ์ง์ ํ์ ์์๋๋ก ๋ฒ๊ฐ์ ๊ตด๋ฆฌ๋ฉฐ ๊ตฌ๋ฉ๊น์ง ๋ค์ ์ด๋ค. ํ ๋ฐ๋ณต๋ฌธ์์ ๋ค๋ฅธ ๋ฐ๋ณต๋ฌธ ๋ชธํต์ผ๋ก ๋ฐ์ด๋๋goto๋case๋ชธํต์ ํจ์ ๋ฐ๊นฅ ์์ค์ ์ด๋ฆํ๋ก ํด์ ์ฎ๊ฒผ๋ค. ์๋ณธ์ ๊ฒฐํจ ์ ์ ๊ณ ์ณค๋ค. nโฅ127์ด๋ฉดchar์ง์๊ฐ ๋์ณ ๋ฒ์ค ์ค๋ฅ๋ก ์ฃฝ๋ ๊ฒ, confsize๊ฐ 0์ด๋ฉด ๋ฐฐ์ด ๋ฐ์ ์ฝ๋ ๊ฒ, slavesize๊ฐ 2ยณโฐ์ ๋์ผ๋ฉด ๋ช ๋ น์ด์ ์ฃผ์๊ฐ ๊นจ์ง๋ ๊ฒ์ด๋ค. ํ์ด์ฌ ์ฌ๋ ์ด๋ธ๋ก ์ธ์ด 20์นธ๊น์ง OEIS A001168๊ณผ ๋ง์๊ณ , ์๋ณธ๊ณผ ์คํ ์ค๋ฌด ๊ฐ์ง์์ ๋ช ๋ น์ด ํ์ผ๊น์ง ๋ฐ์ดํธ๊ฐ ๊ฐ๋ค. MetaPost ๊ทธ๋ฆผ ํ๋(ํฌ๋์ค์polyomino.mp). -
prime-sieve.w โ ์๋ผํ ์คํ
๋ค์ค์ ์ฒด๋ฅผ ๊ตฌ๊ฐ๋ง๋ค ํ์๋ง ๋นํธ๋ก
๋ด์ ๋๋ฆฌ๋ฉฐ 256 ์ด์์ธ ์์ ๊ฐ๊ฒฉ์ ๊ธฐ๋ก์ ์ฐพ๋๋ค. ๋ ์์ ์ฌ์ด์ ๋ชจ๋ 1์ธ 64๋นํธ
๋ฑ๋ง์ด ์์ด์ผ๋ง ๊ฐ๊ฒฉ์ ์์ธํ ๋ณด๊ณ , 32๋ณด๋ค ์์ ์์๋ ๋ฑ๋ง๋ง๋ค ๋นํธ ๋ฌด๋ฌ๋ฅผ ๋๋ ค
์ฐ๋๋ค. ํฌ๋์ค์ 2017๋
CWEB ํ๋ก๊ทธ๋จ์ ์ฎ๊ฒผ๋ค. ํฌ๋์ค๊ฐ ๋ฏธ์ฌ์ฉ์ดํ ๊ตฌ๊ฐ ๊ฒฝ๊ณ์
๊ฐ๊ฒฉ ๋
ผ๋ฆฌ๋ ๊ตฌ๊ฐ ํฌ๊ธฐ๋ฅผ 128๊น์ง ์ค์ฌ ์ํํด ๋ณด๋ ์ณ์๋ค. ๋ช
๋ น์ค ๊ฒ์ฌ์ ๊ฒฐํจ
๋์ ๊ณ ์ณค๋ค. sโยฒ์ด 64๋นํธ์์ ๋์ณ 2ยณยฒ์ ๋ฐฐ์์ธ ์ถ๋ฐ์ ์ ๊ฑฐ์ ํ๋ ๊ฒ๊ณผ, ์์
t์์ 0์ผ๋ก ๋๋๊ณ ๋ฐฐ์ด ๋ฐ์ ์ฝ๋ ๊ฒ์ด๋ค. ์ด์ง ๋ก๊ทธ ํ๋
math/bits๋ก ๋ฐ๊พธ์๋ค. ์๋ณธ์ ํ์ด์ฌ ๊ตฌ๊ฐ ์ฒด์ 1197๊ฑด์์ ๋ง์๊ณ , ์ด ํ์ ์๋ณธ๊ณผ 621๊ฑด์์ ๊ณ ์น ๋ ๊ฒฝ์ฐ๋ง ๋นผ๊ณ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. MetaPost ๊ทธ๋ฆผ ํ๋. -
prjeuler152.w โ Project Euler 152๋ฒ ๋ฌธ์ . ํต์ฌ์ด์ ์ฌ๋ฏธ๋
ํฉ์ ๋ถ๋์์์ ์ผ๋ก ๊ฒฌ์ค ์ ์๋ค๋ ๋ฐ ์๋ค.
$1/n^2$ ํญ์ ๋ํ ๋๋ ์ ํํ ์ ๋ฆฌ์ ์ฐ์ฐ์ด ํ์ํ๊ณ ,$2^{79}$ ๊ฐ์ ๋ถ๋ถ์งํฉ์ ๋ชจ๋ ๋๋ ๋ฌด์ฐจ๋ณ ๋ฐฉ๋ฒ์ ๋ถ๊ฐ๋ฅํ๋ค. -
queenon-partition.w โ
๋ง์ดํด ์ฌํจ์ด nรn ๊ฒฉ์๋ฅผ ๋ค์ด์๋ชฌ๋๋ก ์๋ฅด๊ณ 45ยฐ ๋๋ฆฐ 2Nร2N ๊ฒฉ์๋ก ๋ณด๋ด๋ ๋ฌํ
์ฌ์์ ๋ค๋ฃจ๋๋ฐ, 2021๋
์ ๊ทธ๊ฐ n-ํธ ๊ฐ์์ ์ ๊ทผ์ ์ป์ ๋ ์ด ์นธ ๋๋๊ธฐ๋ค.
๊ท์น, ๊ณง *(ij)*์ ๋์ด๊ฐ ์์์ธ ๋ถ๋ถ์ ๋๋๋ ์นธ ๊ฐ์ด๋ฐ ๊ฐ์ฅ ์์ I๋ฅผ ์ก๊ณ
๋น๊ธฐ๋ฉด ๋ ํฐ J๋ฅผ ์ก๋๋ค๋ ๊ท์น์, ์์
I<<16 - J๋ก ๋ด์ ์ต์๋ฅผ ์งํค๋ฉด ์ ์ ๋ก ๋์จ๋ค. ๋์ด ์์ฒด๋ nNรnN ํฝ์ ๊ฒฉ์ ์์ ๋ฌด์ฐจ๋ณ ์ ์ผ๋ก ์ ํ๋ค. ํ๋ก๊ทธ๋จ์ ๊ทธ ๋ฐฐ์ ์ ๊ทธ๋ฆฌ๋ MetaPost ํ์ผ์ ๋ฝ์๋ด๋๋ฐ, Go์ ๋ ๋ฌธ์์ด์ดfprintf์ค๋ฌผ ๋ช ๊ฐ๋ฅผ ๋์ ํ๋ MetaPost๋ฅผ MetaPost๋ก ์ฝ์ ์ ์๋ค. CWEB ์๋ณธ๊ณผ (N, n) ์ 649๊ฐ์ง์์ ํ์ค ์ถ๋ ฅ๊ณผ ๋ฝ์๋ธ.mp์ ์ข ๋ฃ ์ฝ๋๊ฐ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. ๊ธ ์์ ๋ด๊ธด luamplib ๊ทธ๋ฆผ ๋. -
sliding.w โ ๋ฏธ๋ซ์ด ๋ธ๋ก ํผ์ฆ์ ๋๋ฃจ ํธ๋
์์ง์ด๋ค. 0/1 ๋ฌด๋ฌ๋ก ์ฃผ๋ ์กฐ๊ฐ์ด 15์ข
๋ฅ๊น์ง, ์ฃฝ์ ์นธ์ด ์๋ ํ, ๊ทธ๋ฆฌ๊ณ ์ด๋
๋ฐฉ์์ด ์ฌ์ฏ์ด๋ค. ์กฐ๊ฐ ํ๋๋ฅผ ํ ์นธ, ์กฐ๊ฐ ํ๋๋ฅผ ๊ณง๊ฒ ์๋ฌด ๊ฑฐ๋ฆฌ๋, ์กฐ๊ฐ ํ๋๋ฅผ
์๋ฌด ๊ธธ๋ก๋, ๊ทธ๋ฆฌ๊ณ ์ ๋ง๋ค์ "์ด์กฐ๊ฐ" ํ์ผ๋ก ๋ธ๋ก ๋ช ๊ฐ๊ฐ ํจ๊ป ๋ฏธ๋๋ฌ์ง๋
๊ฒ์ด๋ค. ๋๋น ์ฐ์ ํ์์ ๊ฑฐ๋ฆฌ ์ธต์ ๋ง์ง๋ง ์
๋ง ๋ค๊ณ ์๋๋ฐ, ํฌ๊ธฐ๊ฐ ์ ๊ฐ๊ฐ์ธ
๊พธ๋ฌ๋ฏธ๋ฅผ ์๋ ํด์ ์ฌ์ฌ ๊ณ ๋ฆฌ๋ก ์ฎ์ ์ํ ํ์ ๋ด๊ณ , ์ด๊ธฐ๋ ์์๋ ๋์ฐพ๋๋ค.
ํ๊ฐ ์ฒ์์ ์์์ผ๋ฉด ๋ ๊ฐ๊น์ด ๋ชฉํ๋ก ๋ค์ ์์ํ๋ค. ์ด์กฐ๊ฐ์ "๋ถ๋ชํ๋ค" ๋ฐฉํฅ
๊ทธ๋ํ์ ์ด์์ด๊ณ , ๋ง๋ํ ๋ฐฑํธ๋ํน์ด ๊ทธ๊ฒ์ ๋ง๋ค์ด ๋ธ๋ค. ์ฎ๊ธฐ๋ค๊ฐ ์ง์ง ๊ฒฐํจ์
๋ง๋ฌ๋ค. ๋ฐฉ์ 5์์ ํฌ๋์ค๋ ๊ฐ์ ์ ๋ฐฐ์น์์ ์ด๋ฏธ ๋ฟ์ ๋ฐฐ์น๋ฅผ ๋ง๋๋ฉด ๋
๋์๊ฐ์ง ์๋๋ฐ, ๊ทผ๊ฑฐ๋ ์กฐ๊ฐ ํ๋๋ง ์์ง์๋ค๋ ๊ฒ์ด๋ค. ์กฐ๊ฐ ํ๋์๋ ๋ง์ง๋ง
์ด์กฐ๊ฐ์๋ ํ๋ฆฌ๋ค. ๋ชจ์์ด ๊ฐ์ ์กฐ๊ฐ์ด ์์ผ๋ฉด ์๋ก ๋ค๋ฅธ ์ด์กฐ๊ฐ์ด ๊ฐ์ ๋ฐฐ์น์
์ด๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ณธ์ ๋ฐฐ์น๋ฅผ ํ ์ธต ๋ฆ๊ฒ ๋๊ณ (๋ฌด์์ 1800๋ฒ ๊ฐ์ด๋ฐ
8๋ฒ), 4์๋ฉด ๋๋ ๊ฒ์ 5์๋ผ๊ณ ๋ตํ ์ ์๋ค. ์ด์กฐ๊ฐ๋ง๋ค ๋์ฅ์ ์ฐ์ด ๊ณ ์น๋ค.
ํจ๊ป ๊ณ ์น ๊ฒ์ ๊พธ๋ฆฐ ๋ฐฐ์น๋ฅผ ์ฐ์ ๋์ ๋ถํธ ํ์ฅ ์ค๋ฅ์, ์ ์ํ์ง ์์ ์กฐ๊ฐ
์ด๋ฆ์ ๋ง์ง ์์
off[-1]์ ์ฝ๋ ๊ฒ์ด๋ค. 64๋นํธ hi/lo ํฌ์ธํฐ ์์ ๊ทธ๋ฅuint64๊ฐ ๋์๋๋ฐ, ํ๋ ์ ๋ ์๊ฐ ์ด ๋๋ชฉ์์ ์์ผ๋ฆฌ๋ผ๊ณ ํฌ๋์ค๊ฐ ๋ฏธ๋ฆฌ ์ ์ด ๋ ๋ฐ๋ค. ๊ณ ์น C์ 2178๋ฒ์ ์คํ(์ฌ์ฏ ๋ฐฉ์, ๋ชจ๋ ์์ธํ ์ฐ๊ธฐ ๋จ๊ณ)์์ ๋ฐ์ดํธ๊น์ง ๊ฐ๊ณ , ๋ฐ๋ก ์ง ํ์ด์ฌ ๋๋น ์ฐ์ ํ์๊ธฐ๊ฐ ์ธต๋ง๋ค ํ์ธํด ์ค๋ค. -
spiders.w โ ์ผ๋ถ์์ ๋ซ์ผ๋ฉฐ
koda-ruskey์li-ruskey๋ฅผ ๋ก์ ๊ฒ์ผ๋ก ๋ง๋ ๋ค. ๊ฐ์ ๋ฌธ์ , ๊ณง ์์ ๋น์ํ ๋ฐฉํฅ ๊ทธ๋ํ์x โ y โน ๋นํธ x โค ๋นํธ y๋ฅผ ์งํค๋ 0/1 ๋ผ๋ฒจ๋ง์ ๋ฟ๋ฆฌ ๋นํธ๊ฐ ํ ๋ฒ ๋ค์งํ๋ ๊ทธ๋ ์ด ๊ฒฝ๋ก๋ก ๋์ด๋๋ ์ผ์ ๋ค๋ฅธ ์ชฝ์์ ํผ๋ค. ์ค์งํฉU_k/V_k๋ฅผ ์กฐ์ ์ฌ์ฌ์ ์๋ฌต์ ์ผ๋ก ์ค์ด O(nยฒ)์ด์น ์งํฉ ์ ๋ถ๋ฅผ ์ ํ ์๊ฐ๊ณผ ๊ณต๊ฐ์ ๋ด๊ณ , ๋ฐ์ฌ ๋ถํธ์ ํ์ง์ n๋นํธ ์ฐ์ ๋์ueven/vevenํ ํ๋์์ ์ฝ์ด ๋ด๋ฉฐ, ๊นจ์ด ์๋ ๋ง๋์ ์ ๋ ๋ง๋๊ฐ ๋ฒ๊ฐ์ ์๋ ํ์ฑ ๋ชฉ๋ก์ ๋ธ๋ก์ด ๋ฏธ๋ฃฌ ํ๋๊ทธ๋ฅผ ๋จ๊ธฐ๋ฉฐ ๋๋๋ค์ด ์ฐธ์ผ๋ก ๋ฌด๋ฐ๋ณต์ธ ์์ฑ๊ธฐ๊ฐ ๋๋ค. ์ฝ์ ์๋ฆฌ์ ๋ํ ํฌ๋์ค์ ์๋ ์ ํ์์ ์ค๋ฌผ๋ค์ฏ ํด ๋์ ํ๋ฆฐ ์ฑ์๊ณ ๊ผญ์ง์ ๋ค์ฏ ๊ฐ์ง๋ฆฌ ๊ฑฐ๋ฏธ๊ฐ ๊ทธ๊ฒ์ ๊นจ๋จ๋ฆฌ๋๋ฐ, ์ด ๋ฌธ์๋ ๊ทธ ์คํจ์ ๊ณ ์นจ์ ๊ทธ๋ฆผ๊ณผ ํจ๊ป ์ง์ด ๊ฐ๋ค (ํฌ๋์ค๊ฐ 2026๋ 6์์ ๋ฐ์๋ค์ด๊ณ ์ด ์ ์ฅ์ ์ง์์ด์ ๊ณต์ผ๋ก ์ ์๋ค). CWEB ์๋ณธ๊ณผ ๊ผญ์ง์ 7๊ฐ ์ดํ์ธ ์ฐ๊ฒฐ๋ ๊ฑฐ๋ฏธ 10,067๊ฐ ๋ชจ๋์์-v์ถ๋ ฅ๊น์ง ๋ง์ถฐ ๋ณด์๋ค. MetaPost ๊ทธ๋ฆผ ๋ท. -
squint.w โ ๊ฒ์ผ๋ฅธ ๊ฑฐ๋ญ์ ๊ณฑ ๊ธ์๋ฅผ ์๊ตฌ์ ๋ฐ๋ผ ์์ง์ด๋ ์ฑ๋ ๊ทธ๋ฌผ๋ก
๋ณธ๋ค(ํฉ, ๊ณฑ, ํฉ์ฑ, ์ญ์, ํจ์์ ์ญ, ๊ทธ๋ฆฌ๊ณ
exp๊ฐ์ ๋ฏธ๋ถ ๋ฐฉ์ ์). ๋งคํฌ๋ก์ด์ Squinting at Power Series๋ฅผ ๋ฐ๋ฅธ๋ค. -
ssbidiham.w โ ssdiham.w๋ฅผ ์๋ฐฉํฅ ๊ทธ๋ํ๋ก ๋ํ
ํด๋ฐํด ํ๋ก๋ฅผ ๋ชจ๋ ์ฐพ๋๋ค. ๋ณ ํ๋์ ๋ ๋์
<๋>๊ฐ ๋ถ์ด u<<v, u<>v, u><v, u>>v ๋ค ๊ฐ์ง๊ฐ ์๊ณ , ์ด๊ฒ๋ค์ ๊ฐ๊ฐ ๋ณ uโปโvโบ, uโปโvโป, uโบโvโบ, vโปโuโบ๊ฐ ๋๋ค. SGB ํ์ผ์์๋ ํธ ๊ธธ์ด๋ฅผ 4๋ก ๋๋ ๋๋จธ์ง๋ก ๊ฐ์ง๋ฅผ ์ ๋๋ค. ์๋ณธ๊ณผ ๊ทธ๋ํ 80๊ฐ, ์ ํํญ ์กฐํฉ 26๊ฐ์ง๋ก ๋ชจ๋ 2132๋ฒ์ ๋ฐ์ดํธ๊น์ง ๊ฒฌ์ฃผ์๋ค. ์๋ณธ์ด ์ผ ํด์ ์๋ ์ ์ ํ์๊ณผ 63๊ฐ ๊ทธ๋ํ์์ ๋ง์ถฐ ๋ณด์๋ค. ์๋ณธ์ด ๋ง๋ ์๋ ๊ทธ๋ํ์์ ์ฃฝ๋ ๊ฒ์ ๊ณ ์ณค๋ค. ๊ฐ์ ๋ถํธ๋ผ๋ฆฌ ์๋ ๋ณ์ด ์๊ธฐ๋ฏ๋ก ์๋ณธ์ "g๋ ์ด๋ถ ๊ทธ๋ํ" ๋ฌธ์ฅ์ด ํ๋ ธ๋ค๋ ๊ฒ๋ ์ ์๋ค. MetaPost ๊ทธ๋ฆผ ํ๋. -
ssdiham.w โ ssham.w์ ์ ํฅํ์ผ๋ก, ์ ํฅ
๊ทธ๋ํ์ ํด๋ฐํด ํ๋ก๋ฅผ ๋ชจ๋ ์ฐพ๋๋ค. ์นดํ(1972)์ ๋ฐ๊ฟ์ ์ข์ ๋ง๋ v๋ฅผ vโป์ vโบ๋ก
์ชผ๊ฐ๊ณ ํธ uโv๋ฅผ ๋ณ uโปโvโบ๋ก ์ผ์ผ๋ฉด, ๊ทธ๋ํ๋ ์ด๋ถ ๊ทธ๋ํ๊ฐ ๋๊ณ ํด๋ฐํด ํ๋ก๋
vโปโvโบ n๊ฐ๋ฅผ ๋ณดํ๋ฉด ํ๋ก ํ๋๊ฐ ๋๋ ์์ ๋งค์นญ์ด ๋๋ค. ์ด์ ๋ ์ฐจ์๊ฐ 1์ธ ๋งจ๋ชธ
๋ง๋๊ฐ ๋ฐฉ์์ ๋ฅผ ๋น๊ธด๋ค. ์
๋ ฅ์ SGB
.gbํ์ผ์ด๊ณ go-sgb์gbsave.RestoreGraph๋ก ์ฝ๋๋ค. ssham.w์ ๋ฌ๋ฆฌ ๋ง๊ณผ ์ข ๋ฃ ๋ถํธ๋ฅผ ์๋ณธ ๊ทธ๋๋ก ๋์ด, CWEB ์๋ณธ๊ณผ ๊ทธ๋ํ 75๊ฐ, ์ ํํญ ์กฐํฉ 26๊ฐ์ง๋ก ๋ชจ๋ 1962๋ฒ์ ๋ฐ์ดํธ๊น์ง ๊ฒฌ์ฃผ์๋ค. ํด, ์์ธํ ๊ธฐ๋ก, ์๋ชจ์ต, ์งํ ๋ณด๊ณ , mem ์,gb_flip๋ฌด์์ํ๊ฐ ๋ชจ๋ ๊ฐ๋ค. 6ร6 ๋์ดํธ ๊ทธ๋ํ์์๋ ssham.w๊ฐ ์ผ 9862์ ๊ผญ ๋ ๋ฐฐ์ธ ํ๋ก 19724๊ฐ๋ฅผ ์ฐพ๋๋ค. MetaPost ๊ทธ๋ฆผ ํ๋. -
ssham.w โ ๊ทธ๋ํ์ ํด๋ฐํด ์ํ์ ๋ชจ๋ ์ฐพ๋๋ฐ,
๋ถ๋ถ ๊ฒฝ๋ก์ ๋ณ์ ๊ทธ๊ฒ์ด ๋ง์ง๋ง ์ํ์ ์ด๋์ ๋์ผ์ง ๋ชจ๋ฅธ ์ฑ ๊ณ ๋ฅด๋ ์๊ณ ๋ฆฌ์ฆ์
์ด๋ค. ์
๋น์ 1970๋
์ฐฉ์์ด๊ณ , ํฌ๋์ค๊ฐ 2001๋
์ ๋ชจ๋ ๋ถ๋ถ ๊ฒฝ๋ก์ ์ง์๊ฐ ๊ฐ์
๋ ๋์นญ์ ์ธ ๊ผด๋ก ๋ค์ ๋ฐ๊ฒฌํ๋ค. ํฌ๋์ค์ SGB ์์ฐ ํ๋ก๊ทธ๋จ SHAM๊ณผ ํท๊ฐ๋ฆฌ์ง
๋ง์๋ผ. ์ธ ๊ธ์๊ฐ ๊ฐ์ ๋ฟ ์ ํ ๋ค๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ค์ด๋๋ ๊ทธ๋ํ๋ ์ฑ๊ธด
์งํฉ(
nbr/adj,adj๋ ์ธ์ ํ๋ ฌ ๋ ธ๋ฆ๋ ๊ฒธํ๋ค)์ ๋ด๊ธฐ๊ณ , ๊ผญ์ง์ ์ ๋งจ, ๋ฐ๊นฅ, ์ ๊ฐ์ด๋ฐ ํ๋์ด๋ฉฐ, ์ฐจ์๊ฐ 2์ธ ๋งจ ๊ผญ์ง์ ์trigger๋ชฉ๋ก์ ์ฌ๋ผ ์ ๋ณ ๋์ ๊ฐ์ ํ๋ค. ์ ๋ ฅ์ SGB.gbํ์ผ์ด๊ณ go-sgb์gbsave.RestoreGraph๋ก ์ฝ๋๋ค. ๋ go-sgb์gbbasic.Board์gbsave.SaveGraph๋ C SGB์ ๋ฐ์ดํธ๊น์ง ๊ฐ์ ํ์ผ์ ์ด๋ค. ์๋ณธ์์goto์ ๊ฑฐ๋ฏธ์ค์ ๊ทธ๋๋ก ์ฎ๊ฒจ ์ค๊ณ , ์ด๋ฆํ ํ๋๋ง ๋ ์์ผ๋ฉด ๋๋ค(Go๋ ๋ธ๋ก ์์ผ๋ก ๋ฐ์ด๋ค ์ ์๋ค). CWEB ์๋ณธ๊ณผ ๊ทธ๋ํยท์ ํ์ง ์ 845๊ฐ์ง์์ ๋ง์ถฐ ๋ณด์๋ค. ๋ต๊ณผ ์์ธํ ๊ธฐ๋ก๊ณผ ํ๋กํ์ผ๊ณผ ์งํ ๋ฌธ์์ด๊ณผ mem ์๊ฐ ๋ชจ๋ ๊ฐ๊ณgb_flip๋ฌด์์ํ๊น์ง ๊ฐ๋ค. 6ร6 ๋์ดํธ ๊ทธ๋ํ๋ ์์ชฝ ๋ชจ๋ 2265+4671495 mems์ ์ํ 9862๊ฐ๋ฅผ ์ค๋ค. -
tarjan-strong-and-weak.w โ
์๊ณ ๋ฆฌ์ฆ 7.4.1.2T๋ฅผ ๋ค์ ๋ค๋ฃจ๋
์ด๋ฒ์๋ ์๊ณ ๋ฆฌ์ฆ 7.4.1.2W๋ฅผ ๋๋ํ ์ฃ๋๋ค. ํฌ๋์ค์ ์ฝํ ์ฑ๋ถ์ ํํ
๋งํ๋ ์ฝ์ฐ๊ฒฐ ์ฑ๋ถ์ด ์๋๋ค. ํธ๊ฐ ์๋ ๋ฐฉํฅ ๊ทธ๋ํ์๋ ํ๋๋ฟ์ด๊ณ , ๊ผญ์ง์
k๊ฐ์ง๋ฆฌ ๊ฒฝ๋ก์๋ k๊ฐ๋ค. ํํ ์ชฝ์ ๊ทธ๊ฐ ๋ฌดํฅ ์ฑ๋ถ์ด๋ผ ๋ถ๋ฅธ๋ค. ์ฝํ
๋์น๋ "์๋ก ๋ฟ์ ์ ์๊ฑฐ๋ ์๋ก ๋ฟ์ ์ ์๋ค"์ ์ถ์ด ํํฌ์ด๊ณ (๊ทธ๋ ์ด์,
ํฌ๋์ค, ๋ชจ์ธ ํจ, 1972), ์์ถ ๊ทธ๋ํ ์์์๋ ์ ํํ ๋น๊ต ๋ถ๊ฐ๋ฅ ๊ทธ๋ํ์
์ฐ๊ฒฐ์ฑ์ด๋ค. ๊ณง ๋ฟ์ ํฌ์
์ ๊ฐ์ฅ ์๊ฒ ๋๋ ์์ ๋ถํด
Pโ โ Pโ โ โฏ โ Pโ์ ํ ๋ธ๋ก์ด๊ณ , ํฌ๋์ค์ ์์ธ์ ์ด๊ฒ์ ํฌ์ ์ ์ง๋ ฌ ๋ถํด๋ผ ๋ถ๋ฅธ๋ค. (์ ์๋ ํ๋ก๊ทธ๋จ์์ ๊ฑฐ๊พธ๋ก ์์๋ธ ๋ค ์ฝํ ์ฑ๋ถ์ด 1๊ฐ์์ 20๊ฐ์ธ ๋ฐฉํฅ ๊ทธ๋ํ 2500๊ฐ์ ๋ฌด์ฐจ๋ณ ์ ์ผ๋ก ๋ง์ถฐ ๋ณด๊ณ , ํ๋ฆฌํจ์ํด 12a๋ก ํ์ธํ๋ค.) ๊ทธ ๊ด์ ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ฝ์ ์ ์๊ฒ ๋ง๋ ๋ค. ๋ธ๋ก์ ํ์์ด ๋ด๋๋ ์ฐจ๋ก์์ ์๋ฟ์ ๊ตฌ๊ฐ์ด๋ฏ๋ก, W๋ ์๋ฆฐ ์๋ฆฌ๊ฐ ๊ฐ์ฅ ์ ์ฑ๋ถ ์์ ๋ง๋์ง๋ง ๋ฌผ์ผ๋ฉด ๋๋ค. ๊ตฌ์ฒด์ ์ผ๋ก๋ ์ ๋ธ๋ก์ ์์ฒ์ด ๋ชจ๋ ๋ง์๋์ง ๋ฌป๋๋ฐ, ํ์์ HIT/WHIT ๊ฒ์ผ๋ฅธ ์ญ์ ๊ฐ ์ ํํ๊ฒ ์ง์ผ ์ฃผ๋ ์์ฒ ๋ชฉ๋ก์ ๋ฐ๋ผ ๊ฑท๋๋ค. C๊ฐ ์ธ๋ชจ ํ๋ ๋ค์ฏ ๊ฐ๋ฅผ ๋ ๊ธ์ด๋ชจ์ผ๋ ค๊ณ ๊ทธ๋ฆผ์ ๊ผญ์ง์ n+1๊ฐ๋ฅผ ์ก์์ผ ํ๋ ์๋ฆฌ์์, Go์ ๋ ์ฝ๋๋ ์ํ ๊ฐ์ ๊ทธ๋ฅ ์ด๋ฆ์ ๋ถ์ธ๋ค. C ์๋ณธ๊ณผ ์ถ๋ ฅ๊ณผ mems๊ฐ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. SGB์ ๋ก์ ๊ทธ๋ํ์ ๋ฌด์์ ๋ฐฉํฅ ๊ทธ๋ํ 2230๊ฐ์์ ๋ง์ถฐ ๋ณด์๋๋ฐ, W์ ๋ณํฉ ๋ฐ๋ณต๋ฌธ๊ณผ ๊ฒฝ๋ก ์์ถ๋src๊ฑท๊ธฐ๋ฅผ ๊ตด๋ฆฌ๋ ค๊ณ ์ง์ ์ฌ์ฌ๊ณผ ์ถ์ด ํ ๋๋จผํธ์ ์ธต์ง ๊ทธ๋ํ๋ ํจ๊ป ๋ฃ์๋ค. go-sgb๋ฅผ ์ด๋ค. MetaPost ๊ทธ๋ฆผ ๋์tarjan-strong.mp์ ๋์ฐ๋ฏธ๋ฅผ ํจ๊ป ์ด๋ค. -
tarjan-strong.w โ ํ์์ ๊ฐํ ์ฑ๋ถ. ํฌ๋์ค์ CWEB
tarjan-strong.w(๊ณง ๋์ฌ ํ๋ฆฌํจ์ํด 12a์ ์๊ณ ๋ฆฌ์ฆ 7.4.1.2T)๋ฅผ ๋ฐ๋ฅธ๋ค. ๊น์ด ์ฐ์ ํ ๋ฒ์ผ๋ก ๊ฐํ ์ฑ๋ถ์ ๋ชจ๋ ์ฐพ๊ณ , ์ฆ์๋ ํจ๊ป ๋ด๋๋๋ค. ์ฑ๋ถ๋ง๋ค ๊ฐํ ์ฐ๊ฒฐ์ ์ง์ผ ์ฃผ๋tree์innerํธ, ๊ทธ๋ฆฌ๊ณ ์์ถ ๊ทธ๋ํ์ ํธ๋ง๋คlinkํ๋๋ค. ํฌ๋์ค ์์ ์ ๋ ธํธ์๋ ๊ทธ๊ฐ ์ฒ์์ ์๋ชป ์ก์๋ ๊ท์น, ๊ณง ๋๋ฌด ์์์ด LOW๋ฅผ ๋น๊ธธ ๋ ๋ถ๋ชจ์ ์์ชฝ ํธ๋ฅผ ๋ฒ๋ฆฌ๋ ๊ท์น์ด ์ ํ ์๋๋ฐ, ์ด ๋ฌธ์๋ ๊ทธ ํ๋ฆฐ ํ์ ์ง์ด ๊ทธ์ ๋ค์ฏ ํธ์ง๋ฆฌ ๋ฐ๋ก์ ๋๋ ค ์คํจ๋ฅผ ๋์ด๋ฆฐ๋ค. ์ฌ๊ธฐ์ LOW๋ ํจ์ํด์ด ๋ด๋ฆฌ๋ง ๊ฒฝ๋ก์ ํธ์ ์ฑ์์ผ๋ก ์ ์ํ๋ ์ด๋ธโ์ฟ ๋ฅดํค์์ค๋์ค ํ์ด์ง ํ์์ 1972๋ lowlink๊ฐ ์๋๋ค. ๋๋ฌด๊ฐ ์๋ ํธvโu๋ PRE(u)๊ฐ ์๋๋ผ LOW(u)๋ฅผ ๋๋ ค์ค๋ค. ๊ทธ๋์ "LOW๊ฐ ๊ฐ์ผ๋ฉด ์ฑ๋ถ๋ ๊ฐ๋ค"๋ ๊ฑฐ์ง์ด๊ณ (๋ฌด์์ ๋ฐฉํฅ ๊ทธ๋ํ 500๊ฐ ๊ฐ์ด๋ฐ 168๊ฐ์์ ๊นจ์ก๋ค), ๊ทธ ๋๋ฌธ์ ๊บผ๋ด๊ธฐ ๊ฒ์ฌ๊ฐโฅ๋ค. ์ฎ๊ธด ํ์ C์low/repํฉ์งํฉ์ ์ฑ ์ด ์ ํ ๋ถํธํ(ํ ํ๋ ์์SENT + vโฒ)๋ก ๋ฐ๊พธ๋๋ฐ, ๊ทธ๋์ผ mem ์๊ฐ ๋ง๊ณ ์๋ณธ์ ํฌ์ธํฐ ์ฃผ์ ๊ฒ์ฌexit(-666)๋ ์ง์ธ ์ ์๋ค. C ์๋ณธ๊ณผ ์ถ๋ ฅ๊ณผ mems๊ฐ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. SGB์ ๋ก์ ๊ทธ๋ํ(๊ผญ์ง์ 1022๊ฐ, ์ฑ๋ถ 77๊ฐ)์ ๋ฌด์์ ๋ฐฉํฅ ๊ทธ๋ํ 1615๊ฐ์์ ๋ง์ถฐ ๋ณด์๊ณ , ์ฆ์๋ ๋ค์ 1500๊ฐ์์ ๋ป์ด ๋ง๋์ง ๋ฐ๋ก ๊ฒ์ฌํ๋ค. go-sgb๋ฅผ ์ด๋ค. MetaPost ๊ทธ๋ฆผ ์ . -
topswops.w โ ์ฝ์จ์ด์ ํฑ์ค์์ค ๋์ด๋ฅผ ํํผ๋ค์ธ์ ๊ฑฐ๊พธ๋ก
ํ์(๋๋ ์๋ฆฌ์์ ๋์ด๋ฅผ ๊ฑฐ๊พธ๋ก ๋๋ฆฐ๋ค)์ผ๋ก ํผ๋ค. ํฌ๋์ค์ CWEB
topswops.w๋ฅผ ๋ค์ ํ์ด ์ด ํ๊ธ ๋ฌธํ์ ์์ธ์ด์ด๊ณ , MetaPost ๊ทธ๋ฆผ(๋์ด ํ ํ๊ณผ n=3์ ๊ฑฐ๊พธ๋ก ํ์ ๋๋ฌด ์ ์ฒด)๊ณผ ์ฝ์จ์ด์ ๋ฉ์ถค ๋ ผ์ฆ์ ๋ํ ์ฆ๋ช ์ด ๋ธ๋ ค ์๋ค. -
topswops_fwd.w โ ๊ฐ์ ๋์ด๋ฅผ ์์ผ๋ก ํผ๋ค. ์๋ฆฌ ํ์ ์นด๋์
f(m)๊ฐ์ง์น๊ธฐ ํ๊ณ๋ฅผ ์ฐ๋ ๋ถ๊ธฐ ํ์ ํ์์ด๊ณ ,goto์ํ ๊ธฐ๊ณ๋ก ์ผ๋ค. ํฌ๋์ค์ CWEBtopswops-fwd.w๋ฅผ ๋ค์ ํ์ด ์ด ํ๊ธ ๋ฌธํ์ ์์ธ์ด์ด๊ณ , MetaPost ๊ทธ๋ฆผ(์ด๋ฆํ ๋ค์ฏ ๊ฐ์ง๋ฆฌ ์ํ ๊ธฐ๊ณ์ ๊ฐ์ง์น๊ธฐ ํ๊ณ)์ด ๋ธ๋ ค ์๋ค. -
ulam-gibbs.w โ ์ธ๋ ์(1, 2, 3, 4,
6, 8, 11, โฆ โ ์ ๋ง๋ค ์์ ๋ ์์ ํฉ์ผ๋ก ๋ํ๋๋ ๋ฐฉ๋ฒ์ด ๊ผญ ํ๋์ธ ๊ฐ์ฅ ์์
์)๋ฅผ ํ๋ฆฝ ๊น์ค์ ๋ฐฉ๋ฒ์ผ๋ก ์์ญ์ต ๊ฐ ์
ํ๋ค. ์ํ์ด๋๋ฒ ๋ฅด๊ฑฐ๋ ฮป โ 2.443443์
๋ํด U_n/ฮป mod 1์ด ๊ฑฐ์ ์ธ์ ๋ [1/3..2/3]์ ๋จ์ด์ง๋ ๊ฒ์ ์์์ฑ๊ณ , ๊น์ค๋
๊ทธ๊ฒ์ O(N) ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฐ๊พธ์๋ค. ํ๋ณด๋ง๋ค ์ต๊ทผ ์ธ๋ ์์ ์ฐฝ ์์์ ์งง์
๋ฌด์ฐจ๋ณ ํ์์ ํ๊ฑฐ๋ ์งง๊ฒ ์ ๋ ฌ๋ ์ด์๊ฐ ๋ชฉ๋ก์ ๊ธฐ๋์ด ํ์ ํ๊ณ , ๋ฐ์ดํธ๋น
18๋นํธ ๋ถํธํ๊ฐ ์ธ๋ ์ฌ๋ถ ํ๋ฅผ .778N ๋ฐ์ดํธ์ ๊พธ๋ฆฐ๋ค. ์ฎ๊ธฐ๋ค๊ฐ CWEB ์๋ณธ์
์ง์ง ๊ฒฐํจ์ ๋ง๋ฌ๋ค. ์ค
else @<outlier tests@>;๊ฐ ์ค๊ดํธ ์์ด ์ง์ด๋ ํ์else๊ฐ ์ฒซ ๋ฌธ์ฅ๋ง ๋ค์ค๋ฆฌ๊ณ , ํํ์ ์ฐพ์ง ๋ชปํ ๋ฌด์ฐจ๋ณ ํ์ ๋ค์๋ ์ธ์ ๋ ๋ก์ ํ๊ณ๋ฅผ ๋จ ์ฑ ๋ป ๋ฐ๋ณต๋ฌธ๊น์ง ๋์๊ฐ๋ค. ๊ธฐ๋ณธ ฮป์์๋ ๊ทธ๋ฐ ์ผ์ด ํ ๋ฒ(u = 25) ์ผ์ด๋๊ณ ํ์ด ์์ง๋ง, ์ฑ๊ธด ๊ทผ์ฟ๊ฐ์์๋ C ํ๋ก๊ทธ๋จ์ด ํ๋ฆฐ ์ธ๋ ์๋ฅผ ์ฐ๋๋ค. ์ ํ์งp22 q9๋ Uโโโ๋ถํฐ ์ด๊ธ๋๋ค. ์ค๊ดํธ๊ฐ ๋ฐ๋์ ์์ด์ผ ํ๋ Goํ์ ๊ณง์ด๊ณง๋๋ก ์ผ ๊ฒ๊ณผ ๋ง๋๋ค. ์ค๊ดํธ๋ฅผ ๋์ด๋ฆฐ C ์๋ณธ๊ณผ ์ ํ์ง ์กฐํฉ 47๊ฐ์ง์์ ๋ง์ถฐ ๋ณด์๊ณ , ํ์ค ์ถ๋ ฅ๊ณผ ํ์ค ์ค๋ฅ์ mems์ METAPOST ํ์คํ ๊ทธ๋จ์ด ๋ชจ๋ ๊ฐ๋ค. N = 10โถ์ ๋ํด ํ๋ก๊ทธ๋จ์ด ๊ทธ๋ฆฌ๋ ํ์คํ ๊ทธ๋จ์ ๋ฌธ์์ ๊ทธ๋ฆผ์ผ๋ก ์ค์๋ค. - whirlpool-count.w โ mรn ํ๋ ฌ์ 2ร2 ๋ถ๋ถํ๋ ฌ๋ง๋ค ๋ค ์์๊ฐ ๊ฐ์ฅ ์์ ๊ฒ์์ ๊ฐ์ฅ ํฐ ๊ฒ๊น์ง ํ ๋ฐํด ๋๋ ์์ฉ๋์ด ์์ด์ ์๋ฅผ ์ผ๋ค. ์์ n+1๊ฐ์ ๋ถ๋ถ ์์ด์ ๋ฐ์ ์๋ก ๋บ ์ขํ x_j๋ก ๋ํ๋ด๊ณ , t๋ง๋ค ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ ฮผ_t๋ก ์ ์ ์ ๋ฎ์ด์ฐ์ง ์๊ณ ์ ์๋ฆฌ์์ ์ ์ ์ ์ ๋ ๋์ ๊ณํ๋ฒ์ด๋ค. n-๋ณ์ด๋ ์๊ณ ๋ฆฌ์ฆ 7.2.1.2X ๋ชจ์์ ๋์ถ์ ์ผ๋ก ํ๋๋ค. ํฌ๋์ค์ 2020๋ CWEB ํ๋ก๊ทธ๋จ์ ์ฎ๊ฒผ๋ค. ์๋ณธ์ 8ร4์ 7ร5์์ ์ ์ด 64๋นํธ๋ฅผ ๋์ด ํ๋ฆฐ ๋ต์ ๋ด๋ฏ๋ก (8ร4์ ์ฐธ๊ฐ์ 278588168022148184390533120), ์ด ํ์ ์ฌ๋ฆผ์ ์ดํด ๋ฉ์ถ๋ค. ๋ถ๋ถ ์์ด ํํ์ ์์ ฮป_t์ ์ ๋ฑ ์ค๋ช ์ ์๋ชป๋ ๊ณ ์ณค๋ค. ์ ์ ํ์๊ณผ ์ดํ ๊ฐ์ง์์ ๋ง์ถฐ ๋ณด์๊ณ , ์๋ณธ๊ณผ ํฌ๊ธฐ 29๊ฐ์ง์์ ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค. MetaPost ๊ทธ๋ฆผ ํ๋.
-
word-cube-dlx.w โ ์์
wordcube.w์ ๋๊ฐ์ ๋์นญ ๋ฑ๋ง ์ ์ก๋ฉด์ฒด๋ฅผ ๋จ์๊ฒ ๋งก๊ธด๋ค. ์ด์ชฝ์ ๋ฌธ์ ์ ์ฒด๋ฅผ ์ ํํ ๋ฎ๊ฐ(XCC) ์ฌ๋ก ํ๋๋ก ์ฎ๊ฒจ DLX ํ์ผ๋ก ์จ ๋ธ๋ค. ํฌ๋์ค์ word-rect-dlx.w ("BACK-MXN-WORDS-NEW์ ๊ฒจ๋ฃจ๋ผ๊ณ ๋ง๋ ๊ฒ")๊ฐ ํ๋ ๋ฐฉ์์ด๋ค. ์ฎ๊ฒจ ๋๊ณ ๋ณด๋ฉด ๋๋ ๋งํผ ์๋ค. ์ฃผ ํญ๋ชฉ 15๊ฐ(i <= j์ธ ์ค๋ค), ๋ถ ํญ๋ชฉ 35๊ฐ(์นธ๋ค, ์ ๋ ฌํ ์ฒจ์ ์ธ์ง์ผ๋ก ์ด๋ฆ์ ์ง๋๋ค), ๊ทธ๋ฆฌ๊ณ ์ค๊ณผ ๋ฑ๋ง์ ์๋ง๋ค ์ ํ์ง ํ๋์ธ๋ฐ, ๊ทธ ๋ค์ฏ ์ ํญ๋ชฉ์ด ์ด๋ ๊ธ์๊ฐ ์ด๋์ ๋์ด๋์ง ๋งํ๋ค. ์ด๋ฆ์ ์ ๋ ฌํ๋ ๊ฒ์ด ๋์นญ ์ฅ์น์ ์ ๋ถ์ด๊ณ , ๊ทธ๊ฒ์ ๊ฒ์ฌํ๋ ์ฝ๋๋ ํ ์ค๋ ์๋ค. ๋ค์ด ๊ณต์ง๋ก ๋ฐ๋ผ์จ๋ค. ๋ฑ๋ง๋ง๋ค ์ ์๋ ๋ถ ํญ๋ชฉ์ ํ๋ ๋๋ฉด "์ด๋ค์ฏ ๋ฑ๋ง์ด ๋ชจ๋ ๋ค๋ฅด๋ค"๊ฐ ์ฝ๋๊ฐ ์๋๋ผ ํ๋๊ทธ(-d) ํ๋๊ฐ ๋๋ค. ์๋ผ ๋ธ ์ฌ์ ์์์wordcube์ ๋ง์ถฐ ๋ณด์๊ณ (๋ฑ๋ง 3000๊ฐ์์ 3 ๋ 3, 3500๊ฐ์์ 83 ๋ 83,-d๋ก 60 ๋ 60), ๋ฝ์๋ธ ๋ต๋ง๋ค 5ร5ร5 ๋ฐฐ์ด๋ก ๋์ง์ด ์ง์ด ์ธ ์ถ์ ๋ฐ๋ผ ๋ค์ ๊ฒ์ฌํ์ผ๋ฉฐ, ์ ์ฒด ๋ชฉ๋ก๋ ๋๊น์ง ๋๋ ค ๊ฐ์ 83,576๊ฐ๋ฅผ ์ป์๋ค. ๋ง์ง๋ง ์ฅ์ ๋์ ๊ฒจ๋ฃจ๊ฒ ํ๋ค. ์ถค์ถ๋ ์นธ์ด ๋ ๋์ ๋๋ฌด๋ฅผ ์ณ ๋ด๋๋ฐ(๋ง๋ 5710๋ง ๊ฐ ๋ 9800๋ง ๊ฐ) ์๊ณ๋ก๋ ์ง๋ค. ์นธ ํญ๋ชฉ ํ๋๊ฐ 3ยท|W|๊ฐ์ ์ ํ์ง์ ๋ค์ด ์์ด์, ์์น ํ ๋ฒ์ด ์์ฒ ๊ฐ๋ฅผ ๊ฑท๋ ์๋ฆฌ์์ ๋ฐฑํธ๋ํน์ ์ด์ง ํ์ ํ ๋ฒ์ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ๋ฎ์ธ ํญ๋ชฉ์ด ๋ชฉ๋ก์ ์ค์ฌ ์ฐจ์ด๊ฐ ์ข์์ง๊ธฐ๋ ํ๋ค(๋ฑ๋ง 2000๊ฐ์์ 92๋ฐฐ, 3500๊ฐ์์ 39๋ฐฐ, ์ ์ฒด ๋ชฉ๋ก์์ 16๋ฐฐ๋ก 26๋ถ 36์ด ๋ 1๋ถ 41์ด). ๊ทธ ์๋ฆฌ์์ ๊ทธ๋ฆฌ๋ MetaPost ๊ทธ๋ฆผ ํ๋์wordcube.mp์์ ๋น๋ ค ์จ ๊ทธ๋ฆผ ํ๋. -
wordcube.w โ ์คํ ํผ๋ ๊ทธ๋ํ๋ฒ ์ด์ค์ ๋ค์ฏ ๊ธ์ ๋ฑ๋ง 5757๊ฐ๋ก
๋์นญ 5ร5ร5 ๋ฑ๋ง ์ ์ก๋ฉด์ฒด๋ฅผ ๋ช ๊ฐ๋ ์ง์ ์ ์๋๊ฐ? ์์ ํ ๋์นญ์ธ
์ ์ก๋ฉด์ฒด๋ ์ธ ์ถ ์ด๋ ์ชฝ์ผ๋ก ์ฝ์ด๋ ๊ฐ์ ๋ฑ๋ง์ด ๋์จ๋ค. ๋ง๋ํ ๋ฐฑํธ๋ํน์ด
์ด๋ค์ฏ ์ค์ ํ ์ฐ์ ์ผ๋ก ์ฑ์ฐ๋๋ฐ, ์ ๋ฑ๋ง๋ง๋ค ์ด๋ฏธ ๋์ธ ๊ธ์๊ฐ ์ ๋์ฌ๋ฅผ ์ด๋ฃจ๋
๋๋จธ์ง๋ ์ฌ์ ์ฐพ๊ธฐ๊ฐ ํด ์ค๋ค. ๋ต์ 83,576๊ฐ๋ค(์ด๋ค์ฏ ๋ฑ๋ง์ด ๋ชจ๋ ๋ฌ๋ผ์ผ ํ๋ฉด
75,130๊ฐ). ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์ ๋ฐฐ์ (์ ๋ฐฉ ๊ฒ์ฌ)๋ฅผ ๋ํ๋ค. ๋ฑ๋ง์ ๋์ ๋๋ง๋ค ์์ง
์ฑ์ฐ์ง ์์ ์ค์ด ์ฌ์ ์ผ๋ก ์ฑ์์ง ์ ์๋์ง ํ์ธํด, ํ์ ๋ง๋๋ฅผ 46์ต ๊ฐ์์
9800๋ง ๊ฐ๋ก ์ณ ๋ธ๋ค(์ฐจ๋ก๋ก ๋๋ ค 1๋ถ 30์ด์ฏค). ํ๊ธ ๋ฌธํ์ ์์ธ์ด์ด๊ณ MetaPost
๊ทธ๋ฆผ์ด ๋ธ๋ ค ์๋ค. ์ง์ด ๋๋ ๋ณ๊ฒฝ ํ์ผ
wordcube-par.ch(gtangle wordcube.w wordcube-par.ch)๋ ๊ณ ๋ฃจํด์ผ๋ก ๋ณ๋ ฌ ๋น๋๋ฅผ ๊ฐ๋ผ ๋ธ๋ค. ์ฒซ ๋ฑ๋ง์ ์๋ก ๋ ๋ฆฝ์ธ ์ ํ์ด ์ผ๊พผ๋ค๋ก ํผ์ ธ ๋๊ฐ, ์ฝ์ด 10๊ฐ์์ 13์ด์ฏค์ ๊ฐ์ ๋ต์ ์ค๋ค. -
ziptree.w โ ํ์๊ณผ ๋ ๋น์ ํ๋ฉ์ ์งํธ๋ฆฌ. ๊ธฐํ ๋ถํฌ ๋์
๋ฑ๊ธ์ผ๋ก ์ต๋ ํ ์์๋ฅผ ์งํค๋ ๋ฌด์์ ์ด์ง ํ์ ํธ๋ฆฌ์ด๊ณ (๋น๊ธฐ๋ฉด ํค๊ฐ ์์
์ชฝ์ ๋ฏผ๋ค), ํ์ ๋์ ํ์ ๊ฒฝ๋ก๋ฅผ ์งํผ์ฒ๋ผ ์ด๊ณ ๋ซ์ ๊ฐฑ์ ํ๋ค. ๋
ผ๋ฌธ์ ์ฌ๊ท์
insert, zip, delete๋ฅผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ตฌํํ ๋ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ผ๋ ๋ ๊ฐ์ง๋ฅผ ์ด๋์ด
๋ธ๋ค. ์๋ ๋(์ฒจ์ ๊ธฐ๋ฐ, ๋ฑ๊ธ 1๋ฐ์ดํธ, ๋น์นธ ๋ชฉ๋ก)๋ ๋ง๋ ํฌ๊ธฐ๋ฅผ ์ ๋ฐ์ผ๋ก
์ค์ด๊ณ ๋ฐฑ๋ง ๋ง๋ ๋น๋์ ํ ๋น์ 100๋ง ๋ฒ์ฏค์์ 40๋ฒ์ฏค์ผ๋ก ์ค์ธ๋ค. ์์ฌ ๋์
๋ฑ๊ธ ํ์ ๋ฑ๊ธ ํ๋๋ฅผ ์์ ์์ค๋ค(ํค์์ ์
ํ๋ค). ๋ช
๋ น
go test๋ก ๋๋ฆฌ๋@(zip_test.go@>์ํ ํ์ผ์ ๋ ผ๋ฌธ์ ๊ทธ๋ฆผ 1์ ์ ํํ ๋์ด๋ฆฌ๊ณ , ์ธ ํํ์ ๊ต์ฐจ ํ์ธํ๊ณ , BST์ ํ ๋ถ๋ณ์์ ํผ์ง์ผ๋ก ๊ฒ์ฌํ๊ณ , ํ ๋น์ ๋ฒค์น๋งํฌํ๋ค. -
cdq-dc/ โ CDQ ๋ถํ ์ ๋ณต. ๋ฌธ์ ๊ฐ ์๋๋ผ ์์ ์งํฉ์ ๊ฐ๋ฅด๋
์คํ๋ผ์ธ ๊ธฐ๋ฒ์ผ๋ก, ์์ชฝ ์ ๋ฐ์ด ๋ค์ชฝ ์ ๋ฐ์ ์ ๋ชซ์ ๋ฏธ๋ฆฌ ์น๋ฅด๊ฒ ํ๋ค. ๋ฌด๊ธฐ
ํ๋์ ์ถ ํ๋๋ค. ์ ๋ ฌ, ๋ถํ ์ ๋ณต, ํ์
ํธ๋ฆฌ.
-
flower/โ ๋ค๊ตฌ P3810, 3์ฐจ์ ๋ถ๋ถ ์์. ๊ธฐ๋ฒ ์ผ๋ฐ์ ๋ค๋ฃฌ๋ค. ๋ฌด์์ด๊ณ , ์ธ์ ์ฐ์ด๊ณ , O(n log n log k)์ด๊ณ , ๋ฌด์์ ๋ด์ฃผ์ด์ผ ํ๋์ง. -
inv/โ ๋ค๊ตฌ P3157, ๋์ ์ญ์. ์๊ฐ์ ์ถ์ผ๋ก ์ฌ๋ฆฐ๋ค. -
stars/โ POJ 2352, ๋ณ์ ๋ฑ๊ธ. ์ถ์ด ๋๋ฟ์ด๋ผ ์ ๋ ฅ์ด ์ ๋ ฌ์ ๋์ ํ๊ณ ํ์ ํธ๋ฆฌ๋ง์ ์ฌ๋ผ์ง๋ค. ๊ธฐ๋ฒ์ ๊ฐ์ฅ ํ๋ฒ์ ๋ชจ์ต์ด๋ค. -
robin/โ LightOJ 1112. ๋ค๋ฅธ ์ ์ ๋ง ์๋ ์ ์งธ ์ถ์ธ ํ์ ํธ๋ฆฌ์๊ฒ ๋ฌด๋๋ฅผ ๋ด์ฃผ๋ ๊ณ๊ฐ์ง๋ค.
-
-
cht/ โ ๋ณผ๋ก ๊ป์ง ์๋ น. ์ด์ฐจ DP ์ ์ด๋ฅผ ์ง์ ์ผ๋ก ๋ค์ ์ฝ๊ณ , ๊ทธ
์ง์ ๋ค์ ์๋ ํฌ๋ฝ์ ์ ๋ณธ๋ค. ๋๋ ํฐ๋ฆฌ
cdq-dc/์ ์ง์ผ๋ก, ๋จ์กฐ์ฑ์ ํ ์นธ์ฉ ๋นผ์๊ธฐ๋ฉฐ ๊ฐ์ ์ฌ๋ค๋ฆฌ๋ฅผ ๋ด๋ ค๊ฐ๋ค.-
frog/โ ์ณ์ฝ๋ EDPC Z, Frog 3. ๊ธฐ๋ฒ ์ผ๋ฐ์ ๋ค๋ฃฌ๋ค. ๊ธฐ์ธ๊ธฐ์ ์ง์๊ฐ ๋ชจ๋ ๋จ์กฐ๋ผ ๋ฑ์ด ๊ป์ง์ ๋ค๊ณ ์ ์ฒด๊ฐ O(n)์ด๋ค. -
bridge/โ CEOI 2017 Building Bridges. ๋จ์กฐ์ฑ์ด ๋ ๋ค ๊นจ์ ธ ๋ฑ ๋์ ๋ฆฌ์ฐจ์ค ํธ๋ฆฌ๊ฐ ๋ค์ด์๊ณ , ๊ต์ ๋์ ๊ฐ์ ๊ฒฌ์ฃผ๋ 128๋นํธ ์ฐ์ ์ด ๋ฌผ๋ฌ๋๋ค. -
cash/โ NOI 2007 Cash. CDQ ๋ถํ ์ ๋ณต์ด ์ธ์์ ๋์ฌ ๋ ํจ๊ป ์จ ๋ฌธ์ ๋ค. ๋ ๊ฐ๋๊ฐ ์ฌ๊ธฐ์ ๋ง๋๋ค. ์๊ฐ์ ๋ํ ์ฌ๊ท, ์๋ก ์ฌ๋ผ๊ฐ๋ฉฐ x์ ๋ํด ๋ณํฉ, ์๋๋ก ๋ด๋ ค๊ฐ๋ ๊ธฐ์ธ๊ธฐ. -
segment/โ HEOI 2013 Segment. ์จ๋ผ์ธ์ด ๊ฐ์ ๋์ด(์ขํ๊ฐ ์์ ๋ต์ผ๋ก ์ํธํ๋์ด ์จ๋ค) CDQ๋ ์ขํ ์์ถ๋ ๋งํ๊ณ , ๋ฆฌ์ฐจ์ค ํธ๋ฆฌ๋ง ์ ์ง์ธ ์ ๋ถ ์ฝ์ ๋ฌธ์ ์ ํ๋ก ์ ๋ค.
-
-
guitar-tuner/ โ ๋งฅ์ ๋ง์ดํฌ๋ฅผ ์ฝ์ด ์๋์ด๋ฅผ ๋ฐ๋ ๊ณ๊ธฐ๋ก
์ค์๊ฐ์ ๋ณด์ด๋ ๊ธฐํ ํ๋. ์๋์ด ๊ฒ์ถ์ DSP ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด YIN ์๊ณ ๋ฆฌ์ฆ์
๋งจ์์ผ๋ก ๊ตฌํํ ๊ฒ์ด๋ค. ์ฐจ์ด ํจ์, ๋์ ํ๊ท ์ ๊ทํ, ์ ๋ ๋ฌธํฑ๊ฐ, ํฌ๋ฌผ์
๋ณด๊ฐ์ ํ๊ณ , ๊ทธ ๋๋ ์ ๊ณ ์ญ ํต๊ณผ ์ ์ฒ๋ฆฌ์ ์ดํ ๊ณผ๋ ์ต์ ์ ์ค์๊ฐ ํํํ์
์ฅํ๋ธ ์ค๋ฅ ๋ณด์ ์ ๋๋ฅธ๋ค. ์๋ฆฌ ์ก๊ธฐ๋
malgo(miniaudio)๋ก ํ๋ค. ์์ธํ ๊ฒ์ ์
README์ ์๋ค. ์์ ๋ ๋ชจ์๊ณผ ๋ฌ๋ฆฌ ์ด๊ฒ์ ํ๋ก๊ทธ๋จ
ํ๋๋ฅผ ๋ฌธ์ ์
์ผ๋ก ์๋ฅธ ๊ฒ์ด๋ค.
-
pitch/โ ๋ง์ดํฌ๋ ํ๋ฉด๋ ๋ชจ๋ฅด๋ ์์ํ ํต์ฌ. ๊ณงpitch.Stream๋ค์ ๊ฒ์ถ ํ์ดํ๋ผ์ธ๊ณผ ๊ฐ๋ฐฉํ ์์ ์ด๋ก ์ด๋ค. -
tuner.wโ ์ฝ์ ํ๋ฐํธ์๋. ํฐ๋ฏธ๋์ ๊ทธ๋ฆฌ๋ ๋ฐ์๊ณ ๊ณ๊ธฐ๋ค. -
gui/โ Gio ๋ค์ดํฐ๋ธ ์ฐฝ์ผ๋ก ๋ง๋ ๋์งธ ํ๋ฐํธ์๋. ๊ฐ์ ํต์ฌ์ ํจ๊ป ์ด๋ค.
-
-
life-game/ โ ํฐ๋ฏธ๋์์ ๋๋ ์ฝ์จ์ด์ ์๋ช
๊ฒ์. ๊ทธ๋ํฝ
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ํ ์ฐ์ง ์๋๋ค. ์ฝ์จ์ด์๊ฒ ๋ฐ๋ํ์ผ๋ก ๋๋ํ๋ค๋ฉด ์ฐ๋ฆฌ์๊ฒ๋
ANSI ์ด์ค์ผ์ดํ ๋ถํธ๋ก ๋๋ํ๋ค. ์ฐ์ฃผ๋ ์ํ๋ฉด์ด๋ผ ํ์ชฝ ๋์ผ๋ก ๊ฑธ์ด ๋๊ฐ
๊ธ๋ผ์ด๋๊ฐ ๋ค๋ฅธ ์ชฝ์์ ๋์์ค๊ณ , ๊ณ ์คํผ์ ๊ธ๋ผ์ด๋ ์ด๋ ๋๋ด ์ ๊ฐ ์ ์ค๊ธฐ์
๋ง์ ๋จ์ด์ง๋ค. ํ์ผ
.wํ๋๊ฐ ํ๋ก๊ทธ๋จ์ด์ ์์ธ์ด์ด๊ณ , ์ ๋ชฉ์ ๋ ธ์์ ์ฒ์ง๋ถ์ธ์์ ์๋ค. ์ฐป์ ์์ ๋์ ๋์ ๊ฐ๋ฉฐ ๊ท์น์ ๋ค๋ฌ๋ ์ฝ์จ์ด, ๊ธ๋ผ์ด๋ ์ด์ด ๋งค๋ญ์ง์ 50๋ฌ๋ฌ ๋ด๊ธฐ, ๊ทธ๋ฆฌ๊ณ ๋ง๋ ์ "๋๋ ์๋ช ๊ฒ์์ด ์ซ๋ค"๋ ๋ง์ ๋ด์๋ค. ๋๋ ํฐ๋ฆฌdemos/์๋ vhs๋ก ์ฐ์ ๊ธฐ๋ก์ด ์๋ค. -
skew-ternary/ โ ํฌ๋์ค์ skew-ternary-calc์, ๋๊ตฐ๊ฐ
๋ง๋ค์ด ์ฃผ๊ธฐ๋ฅผ ๊ทธ๊ฐ ๋ฐ๋๋ ๋ํํ ์ฅ๋๊ฐ. ์ผ์ง ๋๋ฌด์ ๋น์๋ฆฌ๋ง๋ค ์น์ด ๋๊ณ ,
๋ง๋์ ์น ์ ๋ง๋ค ๋ฑ๊ธ์ด ์๋ค(์ผ์ชฝ ์์ โ1, ๊ฐ์ด๋ฐ๋ ๊ทธ๋๋ก, ์ค๋ฅธ์ชฝ +1). ๋ฑ๊ธ์ด
ํ ๋ฒ๋ ์์๊ฐ ๋์ง ์์ผ๋ฉด ๊ทธ ๋๋ฌด๋ ๋น์ค๋ฌํ๋ค. ์ด์ฌ์ ์ ๋ฆฌ๋ ๊ทธ๋ฐ ๋๋ฌด
2n+2๊ฐ๋ก ๋ ์ํ ๊ฐ์กฑ๋ง๋ค ๋น์ค๋ฌํ ๊ฒ์ด ์ ํํ ๋ท์ด๋ผ๋ ๊ฒ์ธ๋ฐ, ๊ฐ๋ฏธ๋ฅผ ๋๋ ๋ก
๊ธฐ์ด๊ฐ๊ฒ ํด ์น์ ์ฌ๋ฆฌ๊ณ ํธ๋ ๋ด๋ฆฌ๋ฉฐ ์ธ๋ฉด ์ฆ๋ช
๋๋ค. ํ๋ก๊ทธ๋จ์ ๋๋ฌด์ ์ธ ์ผค๋ ๋ฅผ
์
ํ ๋ค ๋์ํ๋ ํ๋ฉด ์ง๋๋ฅผ ๋ ๊ฐ์ง๋ก ์ง๋๋ค. ์์นด๋ฅด์ ์
ฐํ๋ฅด์ ๋์์ผ๋ก ํ
๋ฒ, ๋ธ๋ฃฝ๊ณ ์ ๋ธ๋ฆฌ์คํ ๋ก์ ํ๋
ธ์ ๋์์ผ๋ก ํ ๋ฒ์ธ๋ฐ, ๊ธฐ๋ฐ์คโ์คํจํผ ์ฟผ๋์์ง
๊ตฌ์กฐ ์์์ ํ๋ฉฐ, ํฌ๋์ค ์์ ์ ๋๋ผ์์ด ์ฌ๋ ๊ณณ๋ ๊ฑฐ๊ธฐ๋ค. ๋ค ์ผค๋ ๊ฐ ๋ค ๊ฐ์
์๋ ์ง๋๋ฅผ ์ค๋ค๋ ์ถ์ธก์ธ๋ฐ, ์ง ์
ฐํ๋ฅด๊ฐ ์๊ธฐ 1998๋
ํ์ ๋
ผ๋ฌธ์์ ์ค๋ช
ํด
์ฃผ์๋ค. CWEB ์๋ณธ๊ณผ ์จ์๋ง๋ค 6333๊ฐ์ง์์ ์ฐจ์ด ์์ด ๋ง์ถฐ ๋ณด์๊ณ , ํฌ๋์ค์
MetaPost ๊ทธ๋ฆผ 68๊ฐ๋ ๋ชจ๋ ํจ๊ป ์ฎ๊ฒผ๋ค. ๊ทธ๋ฌ๋ฉด์
mpost์ ํ ๋ฒ ํ๊ธฐ ๋ชจํ(๊ทธ๋ฆผ์ด ์์ ๊ทธ๋ฆผ์ ์ํ๋ฅผ ๋ฌผ๋ ค๋ฐ๋๋ค)์์ luamplib์ ๊ทธ๋ฆผ๋ณ ๋ชจํ์ผ๋ก ๋ฐ๊พธ์๋ค.-
app/โ ํฌ๋์ค๊ฐ ๋ค์ด๊ฐ๋ฉฐ์์ ์์ ๋ฐํ ๋ฐ๋, ๊ณง ๋๊ตฐ๊ฐ ์ด ๋๋ฌด๋ค์ ๋ํํ์ผ๋ก ๋ค๋ฃจ๊ณ ๊ทธ ๋ฌด๋ฌ๋ฅผ ์์ผ๋ก ๋๋ฌ๋ด ์ฃผ๊ธฐ๋ฅผ ๋ฐ๋ ๊ฒ์ ๋ตํ๋ HTML ํ ์ชฝ. ๊ฐ๋ฏธ๋ฅผ ๋๋ ๋ก ํ ๊ฑธ์์ฉ ์ฎ๊ธฐ๋ฉฐ ์น์ด ์์ด๊ณ ์ง์ง์ด ์ฌ๋ผ์ง๋ ๊ฒ์ ๋ณด๋ค๊ฐ, ๋๋ด ์ง์ ์ฐพ์ง ๋ชปํ ๋ท๋ง ๋จ์ผ๋ฉด ๊ทธ๊ฒ๋ค์ด ๊ฐ๋ฆฌํค๋ ๋ค ์ผค๋ ๋ฅผ ๋๋ ค ๋ณธ๋ค. ์ ์.w์์ ์ ํ์ฑ๊ณผ ์ํํ ์ฅ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ฎ๊ธด ๊ฒ์ด๊ณ , ๋ฌด์์ ๋น์ค๋ฌ ๋๋ฌด 3510๊ฐ์์ Go ํ๋ก๊ทธ๋จ๊ณผ ๋ง์ถฐ ๋ณด์๋ค.
-