¤¤(¾¯¤Ê¤¯¤È¤âÉä¹æ²½¤Ë´Ø¤·¤Æ¤Ï¤½¤Î¤è¤¦¤À¡£huf.c ¤òį¤á¤ë¤È¤É¤¦¤ä¤éÉü¹æ
»þ¤Ï left[]¡¢right[]¤Ï»È¤ï¤ì¤ë¤é¤·¤¤)¡£
+¤µ¤é¤Ë¤Õ¤È»×¤¤ÉÕ¤¤¤¿¡£Ææ¤Î (C) ¤Î¥³¡¼¥É¤À¤¬ ¿¼¤µ 17 °Ê¾å¤ÎÌÚ¤¬ºîÀ®¤µ¤ì
+¤¿¾ì¹ç¤ËÌÚ¤òºÆ¹½ÃÛ¤¹¤ë½èÍý¤À¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£ºÇ½é¡¢len_cnt[] (¤¢
+¤ë¿¼¤µ¤ÎÍդοô) ¤À¤±¤¬¡¢Áàºî¤µ¤ì¤Æ¤¤¤¿¤«¤é¤è¤¯¤ï¤«¤é¤Ê¤«¤Ã¤¿¤Î¤À¡¢
+
+ /* (C) */
+ /* adjust len */
+ if (cum) {
+ fprintf(stderr, "17");
+ len_cnt[16] -= cum; /* always len_cnt[16] > cum */
+ do {
+ for (i = 15; i > 0; i--) {
+ if (len_cnt[i]) {
+ len_cnt[i]--;
+ len_cnt[i + 1] += 2;
+ break;
+ }
+ }
+ } while (--cum);
+ }
+
+¿¼¤µ n ¤ÎÍդοô¤ò 1 ¤Ä¸º¤é¤·¤Æ¡¢¤½¤Î²¼¤ÎÍդοô¤ò 2 ¤·¤Æ¤¤¤ë¡£
+¤³¤ì¤¬¡¢cum ¤Î¿ô¤À¤±·«¤êÊÖ¤µ¤ì¤ë¡£Î㤨¤Ð¡¢Á°¤Ë¤â½Ð¤¿
+
+ :
+ n /\ .. len_cnt[14] = 0000000000000001
+ o /\ .. len_cnt[15] = 0000000000000001
+ p /\ .. len_cnt[16] = 0000000000000011
+ q r ||||||||||||||||
+ vvvvvvvvvvvvvvvv
+ cum = 0000000000000001
+
+¤ÎÎã¤Ç¤Ï¡¢ºÇ½é¤Ë len_cnt[16] ¤«¤é cum {1} ¤¬°ú¤«¤ì¡¢
+
+ :
+ n /\ .. len_cnt[14] = 0000000000000001
+ o /\ .. len_cnt[15] = 0000000000000001
+ p / .. len_cnt[16] = 0000000000000010
+ q
+
+³¤¤¤Æ¡¢¿¼¤µ 15 ¤è¤ê¾å¤ÎÍդΤ¢¤ëÀᤫ¤é 1 ¤Ä»Ò¤ò¼è¤ê¡¢
+
+ :
+ n /\ .. len_cnt[14] = 0000000000000001
+ /\ .. len_cnt[15] = 0000000000000001
+ p / .. len_cnt[16] = 0000000000000010
+ q
+
+²¼¤ÎÍդοô(¤³¤ÎÎã¤Ç¤Ï¡¢len_cnt[16])¤ò 2 ¤·¤Æ¤¤¤ë¡£
+
+ / \
+ n / \ .. len_cnt[14] = 0000000000000001
+ /\ /\ .. len_cnt[15] = 0000000000000000
+ o r p / .. len_cnt[16] = 0000000000000100
+ q
+
+cum ¤Ï¡¢¤³¤ÎÎã¤Ç¤Ï 0 ¤Ë¤Ê¤ë¤Î¤Ç¡¢¤³¤ì¤ÇÌÚ¤ÎÊ¿³ê²½¤Ï½ª¤ë¡£¥Æ¥¥¹¥È¤À¤È
+¤Á¤ç¤Ã¤È¸«¤Ë¤¯¤¤¤¬¡¢¤½¤¦¤¤¤¦½èÍý¤È¤¤¤¦¤³¤È¤Ç´Ö°ã¤¤¤Ê¤¤¤À¤í¤¦¡£
+lenparm[] ¤ÎÃͤϤ³¤Î¸å¤Î (D) ¤Ç¡¢¤³¤ÎÌÚ¤ò¸µ¤Ë·×»»¤µ¤ì¤Æ¤¤¤ë¡£
+
+¤È¤³¤í¤Ç¡¢ËÜÅö¤Î½ê¤Ï°Ê²¼¤Î¤è¤¦¤Êʸ»ú¤ÎÂбþ¤Ë¤Ê¤ë(ɽ¤òºîÀ®¤¹¤ë¤È¤¤Ëʸ
+»ú¥³¡¼¥É½ç¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¿¤á)¤Î¤À¤¬¡¢·ë²ÌŪ¤Ë¸µ¤ÎÌÚ¤«¤é p ¤ò´Þ¤àÀá¤ò¼è¤ê
+½ü¤ o ¤Î°ÌÃÖ¤ËÁÞÆþ¤¹¤ë½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤Ê¤ó¤À¤«ÌÌÇò¤¤¡£
+
+ / \
+ n / \ .. len_cnt[14] = 0000000000000001
+ /\ /\ .. len_cnt[15] = 0000000000000000
+ o p q r .. len_cnt[16] = 0000000000000100
+
# Local Variables:
# mode : indented-text
# indent-tabs-mode: nil