以下ã®ï¼’æ¡ä»¶ã‚’å…¨ã¦æº€ãŸã™æ–‡å—列Tã®äº‹ã‚’「良ã„ã€æ–‡å—列ã¨å‘¼ã¶ã“ã¨ã«ã™ã‚‹
「良ã„ã€æ–‡å—列ã®ä¾‹
「良ã„ã€æ–‡å—列ã§ã¯ãªã„例
以下ã®æ¡ä»¶ã‚’満ãŸã™ã‚ˆã†ãªï¼’ã¤ã®é–¢æ•°,encodeã¨decodeを実装ã›ã‚ˆ.
ã“ã®å•é¡Œã«ã¯encodeフェーズã¨decodeフェーズãŒã‚ã‚Š, ãã‚Œãžã‚Œç‹¬ç«‹ã«ãƒ—ãƒã‚°ãƒ©ãƒ ãŒå®Ÿè¡Œã•ã‚Œã‚‹.
encodeフェーズã®ã¨ã, 入力ã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹.
encode N S
Nã¯ä¸Žãˆã‚‰ã‚Œã‚‹01列Sã®é•·ã•ã§ã‚ã‚‹. Sã¯ã‚ãªãŸãŒencodeã™ã‚‹ã¹ã01列ã§ã‚ã‚‹. ã“ã®æ™‚ã®,ã‚ãªãŸãŒæ出ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ ã®å‡ºåŠ›ã‚’Tã¨ã™ã‚‹. TãŒè‰¯ã„æ–‡å—列ã§ãªã„å ´åˆã¯ä¸æ£è§£ã¨ãªã‚Š,decodeフェーズã¯å®Ÿè¡Œã•ã‚Œãªã„. decodeフェーズã®ã¨ã,入力ã¯ä»¥ä¸‹ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹.
decode M T
Tã¯encodeフェーズã«ãŠã‘ã‚‹ã‚ãªãŸã®å‡ºåŠ›ã§ã‚ã‚‹. Mã¯æ–‡å—列Tã®é•·ã•ã§ã‚ã‚‹. ã“ã®æ™‚ã®,ã‚ãªãŸãŒæ出ã™ã‚‹ãƒ—ãƒã‚°ãƒ©ãƒ ã®å‡ºåŠ›ãŒencodeフェーズã«ãŠã‘ã‚‹Sã¨ä¸€è‡´ã™ã‚‹å ´åˆ,æ£è§£ã¨ãªã‚‹
ã“ã®å•é¡Œã§ã¯å…¥åŠ›Sã«å¯¾ã™ã‚‹å‡ºåŠ›encode(S)ã®é•·ã•ã«å¿œã˜ã¦å¾—点ãŒæ±ºã¾ã‚‹.
å…¨ã¦ã®ãƒ†ã‚¹ãƒˆã‚±ãƒ¼ã‚¹ã«ã¤ã„ã¦, |encode(S)| ≦ |S| + 10 を満ãŸã™ã¨ãã“ã®å•é¡Œã«å¯¾ã™ã‚‹å¾—点ãŒæº€ç‚¹ã¨ãªã‚‹.
ã¾ãŸ, |encode(S)| ≦ 2×|S| + 10 を満ãŸã™å ´åˆ, ã“ã®å•é¡Œã«å¯¾ã™ã‚‹å¾—点ã¯50点ã¨ãªã‚‹.
入力
encode 6 001100
出力
ABCBE
encodeフェーズã®çµ‚了後ã‚ãªãŸã®ãƒ—ãƒã‚°ãƒ©ãƒ ã¯ä¸€æ—¦çµ‚了ã—,次ã«decodeフェーズãŒé–‹å§‹ã™ã‚‹
入力
decode 5 ABCBE
出力
001100