HSP¥Ý¡¼¥¿¥ë
¥µ¥¤¥È¥Þ¥Ã¥× ¤ªÌ䤤¹ç¤ï¤»


HSPTV!·Ç¼¨ÈÄ


̤²ò·è ²ò·è Ää»ß ºï½üÍ×ÀÁ

2015
0315
cmoritoshi¥¯¥¤¥Ã¥¯¥½¡¼¥È¤ÎºÆµ¢¤Ë¤Ä¤¤¤Æ12²ò·è


cmoritoshi

¥ê¥ó¥¯

2015/3/15(Sun) 11:12:18|NO.67877

¤³¤ó¤Ë¤Á¤Ï¡£¤¤¤Ä¤â¤ªÀ¤ÏäˤʤäƤ¤¤Þ¤¹¡£

HSP¤Ç¤ÏºÆµ¢¤¬¤Á¤ç¤Ã¤ÈÌäÂꤢ¤ë¤È¤¤¤¦¤³¤È¤ò¸«¤«¤±¡¢
¤³¤Î·Ç¼¨ÈĤǤ⥯¥¤¥Ã¥¯¥½¡¼¥È¤Î¥¹¥¯¥ê¥×¥È¤¬¾å¤¬¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬¡¢
http://hsp.tv/play/pforum.php?mode=all&num=67460
¤¶¤Ã¤È¸«¤¿´¶¤¸¤À¤È¡¢Wikipedia¤Ç¸«¤¿¤Î¤è¤ê
Ê£»¨¤À¤Ã¤¿¤Î¤Ç¡¢¤Á¤ç¤Ã¤È¼ÁÌ䤷¤Æ¤ß¤Þ¤·¤¿¡£

//¥¯¥¤¥Ã¥¯¥½¡¼¥È
//Wikipedia C¸À¸ì¼ÂÁõÎã¤è¤ê #module #defcfunc med3 int x,int y,int z //x, y, z ¤ÎÃæ´ÖÃͤòÊÖ¤¹ if x<y { if y<z :return y :else :if z<x :return x :else :return z } else { if z<y :return y :else :if x<z :return x :else :return z } return 0 #deffunc quicksort array a,int left,int right /* ¥¯¥¤¥Ã¥¯¥½¡¼¥È * a : ¥½¡¼¥È¤¹¤ëÇÛÎó * left : ¥½¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Î³«»Ï°ÌÃÖ * right : ¥½¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Î½ªÎ»°ÌÃÖ */ if left < right { i =left :j =right tmp =0 :pivot =med3(a(i),a(i+(j-i)/2),a(j)) //(i+j)/2¤Ç¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Æ¤·¤Þ¤¦ repeat //a[] ¤ò pivot °Ê¾å¤È°Ê²¼¤Î½¸¤Þ¤ê¤Ëʬ³ä¤¹¤ë repeat if a(i)>=pivot :break //a[i] >= pivot ¤È¤Ê¤ë°ÌÃÖ¤ò¸¡º÷ i++ loop repeat if pivot>=a(j) :break //a[j] <= pivot ¤È¤Ê¤ë°ÌÃÖ¤ò¸¡º÷ j-- loop if i>=j :break tmp =a(i) :a(i) =a(j) :a(j) =tmp //a[i],a[j] ¤ò¸ò´¹ i++ :j-- loop quicksort a,left,i-1 quicksort a,j+1,right } return #global data=5,3,9,8,7,10,2,1,4,6 quicksort data,0,9 //³«»Ï¤Ï0,½ªÎ»¤Ïn-1

¤³¤Î¥¹¥¯¥ê¥×¥È¤Ç¤âÊ¿µ¤¤ÇÆ°¤¯¤ó¤Ç¤¹¤±¤É¡¢
¼ÂÍѾåÌäÂê¤Ê¤¤¤ó¤Ç¤·¤ç¤¦¤«¡©
ÌäÂê¤Ê¤±¤ì¤Ð¤³¤Î¥¹¥¯¥ê¥×¥È¤Î¤Û¤¦¤¬¤¹¤Ã¤­¤ê¤·¤Æ¤ë¤·Îɤ¤¤È»×¤Ã¤Æ¤ë¤ó¤Ç¤¹¤¬¡¢
²¿¤«ÌäÂ꤬¤¢¤ì¤Ð¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£



¤³¤Îµ­»ö¤ËÊÖ¿®¤¹¤ë


anal

¥ê¥ó¥¯

2015/3/15(Sun) 14:23:52|NO.67882

10¤ÎÍ×ÁǤò10000²ó¥½¡¼¥È
you¤Î¥¹¥¯¥ê¥×¥È 414ms
¤â¤¦¤Ò¤È¤Ä¤Î¥¹¥¯¥ê¥×¥È 318ms
ruby 95ms
10000¤ÎÍ×ÁǤò10²ó¥½¡¼¥È

you¤Î¥¹¥¯¥ê¥×¥È 923ms
¤â¤¦¤Ò¤È¤Ä¤Î¥¹¥¯¥ê¥×¥È 850ms
ruby 188ms



FunnyMaker

¥ê¥ó¥¯

2015/3/15(Sun) 14:34:48|NO.67884

anal¤µ¤ó¤¬´û¤Ë»î¤·¤Æ¤¯¤ì¤Æ¤Þ¤¹¤¬¡¢Ã±¤Ë®ÅÙ¤ÎÌäÂê¤Ç¤¹¡£
ºÆµ¢¤Ç¤âÍ×ÁÇ¿ô¤¬ 2^511 ¤òĶ¤¨¤Ê¤¤¸Â¤ê°ÂÁ´¤Ê¤Ï¤º(¤¿¤·¤«gosub¤Î¥Í¥¹¥È¤Î¸Â³¦¤¬511¤À¤Ã¤¿µ¤¤¬¤·¤Þ¤¹)¡£Íפ¹¤ë¤Ë¿´ÇÛÉÔÍס£

¤¿¤À¤·¡¢¤´Â¸¤¸¤ÎÄ̤ê¥æ¡¼¥¶¡¼ÄêµÁÌ¿Îá¤ÎÀµÂΤϥµ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¹¤Î¤Ç¡¢¸Æ¤Ó½Ð¤·¤Ë¤Ï¿¾¯¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡£
HU3DM¤Ç¤Ï®ÅÙ¤¬ºÇÍ¥Àè¤Ê¤Î¤ÇÈóºÆµ¢¹½Â¤¤òºÎÍѤ·¤Æ¤¤¤Þ¤¹¡£

°Ê²¼¡¢Â®Å٥ƥ¹¥È¤Ç¤¹¡£

< CPU > Intel Celeron 1.20 GHz
< Internal cache > 1st : 32KB, 2nd : 256 KB
< RAM > PC133 SDRAM 512MB


#uselib "winmm.dll" #cfunc timeGetTime "timeGetTime" //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// //¥¯¥¤¥Ã¥¯¥½¡¼¥È //Wikipedia C¸À¸ì¼ÂÁõÎã¤è¤ê #module #defcfunc med3 int x,int y,int z //x, y, z ¤ÎÃæ´ÖÃͤòÊÖ¤¹ if x<y { if y<z :return y :else :if z<x :return x :else :return z } else { if z<y :return y :else :if x<z :return x :else :return z } return 0 #deffunc quicksort array a,int left,int right /* ¥¯¥¤¥Ã¥¯¥½¡¼¥È * a : ¥½¡¼¥È¤¹¤ëÇÛÎó * left : ¥½¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Î³«»Ï°ÌÃÖ * right : ¥½¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Î½ªÎ»°ÌÃÖ */ if left < right { i =left :j =right tmp =0 :pivot =med3(a(i),a(i+(j-i)/2),a(j)) //(i+j)/2¤Ç¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Æ¤·¤Þ¤¦ repeat //a[] ¤ò pivot °Ê¾å¤È°Ê²¼¤Î½¸¤Þ¤ê¤Ëʬ³ä¤¹¤ë repeat if a(i)>=pivot :break //a[i] >= pivot ¤È¤Ê¤ë°ÌÃÖ¤ò¸¡º÷ i++ loop repeat if pivot>=a(j) :break //a[j] <= pivot ¤È¤Ê¤ë°ÌÃÖ¤ò¸¡º÷ j-- loop if i>=j :break tmp =a(i) :a(i) =a(j) :a(j) =tmp //a[i],a[j] ¤ò¸ò´¹ i++ :j-- loop quicksort a,left,i-1 quicksort a,j+1,right } return #global //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// #module N_M_S2_5 ;1¼¡¸µÇÛÎó¤Î¥¯¥¤¥Ã¥¯¥½¡¼¥È ;¶è´Ö¤ò»ØÄê¤Ç¤­¤ë¡£ ;¾¤Î1¼¡¸µÇÛÎó¤ò´¬¤­Åº¤¨¤Ë¤·¤Æ¥½¡¼¥È¤¹¤ë¡£ ; ;[½ñ¼°] ; ; MS2_Quick3 TGTARRY,FOLLOWER , opt, s,e ; ; TGTARRY : ¥¿¡¼¥²¥Ã¥ÈÇÛÎó ; FOLLOWER : ÉÕ¤­Åº¤¤ÇÛÎó ; opt : À°Î󥪥ץ·¥ç¥ó(0,other)=(¾º½ç,¹ß½ç) ; s,e : ³«»Ï,½ªÎ»¥¤¥ó¥Ç¥Ã¥¯¥¹ ; ;[È÷¹Í] ; ; Í×ÁÇ¿ô1°Ê²¼¤Î¥Ç¡¼¥¿¤òÅϤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ ; ¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¾Ê¤¤¤Æ¤¤¤ë¡£°ú¿ô¤ÎÉÔÀµ¤ÏÃ×Ì¿½ý¤Ë¤Ê¤ë¡£ #deffunc MS2_Quick3 array TGT, array ATTENDANT, int opt, int s,int e ;[ÄêµÁ] ; ;¡¦¡ÖASTGT (Assigned Section in TGT)¡× : ¥¿¡¼¥²¥Ã¥ÈÇÛÎó¤Î¤¦¤Á¡¢º£²ó¥½¡¼¥ÈÂоݤȤʤäƤ¤¤ëÈÏ°Ï¡£ ;¡¦¡Öthresholding¡× : °ìÄê¤Î¶è´ÖÆâ¤Ç¥Ô¥Ü¥Ã¥È(¤³¤ÎÃͤòp¤È¤¹¤ë)¤ò·èÄꤷ¡¢p¤òïçÃͤȤ·¤ÆÍ×ÁǤò¶è´ÖÁ°¸å¤Ë¿¶¤êʬ¤±¤ëÁàºî¡£ ;¡¦¡ÖPTS (Present Thresholding Section)¡× : thresholdingÁàºî¤ÎÂоݤȤʤäƤ¤¤ë¶è´Ö¡£ ;¡¦¡ÖPSI (Present Scan Index)¡× : thresholdingÁàºî¤Ë¤ª¤¤¤Æp°Ê²¼,°Ê¾å¤ÎÃͤòõº÷¤¹¤ë¤¿¤á¤Î¸½ºß¸¡ººÃæ¤ÎÍ×ÁǤΥ¤¥ó¥Ç¥Ã¥¯¥¹¡£º¸¢ª±¦¤Î¸¡ºº¤Ç¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¡ÖRWPSI (Rightward PSI)¡×¡¢±¦¢ªº¸¤Î¤â¤Î¤ò¡ÖLWPSI (Leftward PSI)¡×¤È¸Æ¤Ö¡£ ;¡¦¡Ödivision¡× : thresholdingÁàºî´°Î»¸å¡¢PTS¤ò2ʬ³ä¤¹¤ëÁàºî¡£ len_ASTGT = e-s+1 ;ASTGT¤ÎŤµ StackCnt = 1 ;¥¹¥¿¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¶è´Ö¿ô(½é´ü²½) dim STACK,len_ASTGT : STACK = s,e ;¥¹¥¿¥Ã¥¯½é´ü²½¡£Í×ÁÇ(2*i),(2*i+1)¤ËÂèi¶è´Ö¤Î³«»Ï,½ªÎ»¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬µ­Ï¿¤µ¤ì¤ë¡£ if opt { ;¹ß½ç repeat ;< pop > sidx_PTS = STACK(2*StackCnt-2) : eidx_PTS = STACK(2*StackCnt-1) ;PTS³«»Ï/½ªÎ»¥¤¥ó¥Ç¥Ã¥¯¥¹ if TGT(sidx_PTS) < TGT(sidx_PTS+1) : p = TGT(sidx_PTS) : else : p = TGT(sidx_PTS+1) ;p¤Ï¶è´Ö¤Îº¸Ã¼2ÃͤΤ¦¤Á¾®¤µ¤¤Êý¤È¤¹¤ë ;< thresholding > RWPSI = sidx_PTS : LWPSI = eidx_PTS repeat ;< rightward scan > repeat if TGT(RWPSI) <= p : break RWPSI ++ loop ;< leftward scan > repeat if TGT(LWPSI) >= p : break LWPSI -- loop if RWPSI < LWPSI { ;Í׸ò´¹ tmpnum = TGT(RWPSI) : TGT(RWPSI) = TGT(LWPSI) : TGT(LWPSI) = tmpnum ;TGT tmpnum2 = ATTENDANT(RWPSI) : ATTENDANT(RWPSI) = ATTENDANT(LWPSI) : ATTENDANT(LWPSI) = tmpnum2 ;ATTENDANT RWPSI ++ : LWPSI -- } else : break ;Í×ʬ³ä¡£¤³¤³¤Ç¼¡¤Î¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¡£­¡ sidx_PTS¡åLWPSI¡åRWPSI¡åeidx_PSI ­¢ RWPSI-LWPSI¡å1 loop ;< division > ;RWPSI¤Îº¸ÎÙ¤ò¶­³¦¤È¤·¤ÆPTS¤òʬ³ä¤¹¤ë StackCnt -- ;¸½PTS¤ÎÅÐÏ¿²ò½ü ;< º¸Â¦¿·µ¬¶è´Ö¸õÊä¤Î¶ãÌ£ > if RWPSI - sidx_PTS >= 3 { ;ÅÐÏ¿²ÁÃÍÍ­¤ê STACK(2*StackCnt) = sidx_PTS, RWPSI-1 StackCnt ++ } else { ;º¸Â¦¿·µ¬¶è´Ö¸õÊä¤ÎŤµ¤¬0¡Á2¤Î¾ì¹ç if RWPSI - sidx_PTS = 2 { ;ÆäË2¤Î¾ì¹ç //¤³¤³¤Ç¥½¡¼¥È¤·¤Æ¤·¤Þ¤¦ if TGT(sidx_PTS) < TGT(sidx_PTS+1) { ;Í׸ò´¹ sidx_PTSplus = sidx_PTS+1 tmpnum = TGT(sidx_PTS) : TGT(sidx_PTS) = TGT(sidx_PTSplus) : TGT(sidx_PTSplus) = tmpnum tmpnum2 = ATTENDANT(sidx_PTS) : ATTENDANT(sidx_PTS) = ATTENDANT(sidx_PTSplus) : ATTENDANT(sidx_PTSplus) = tmpnum2 } } } ;< ±¦Â¦¿·µ¬¶è´Ö¸õÊä¤Î¶ãÌ£ > if eidx_PTS - RWPSI >= 2 { ;ÅÐÏ¿²ÁÃÍÍ­¤ê STACK(2*StackCnt) = RWPSI, eidx_PTS StackCnt ++ } else { ;±¦Â¦¿·µ¬¶è´Ö¸õÊä¤ÎŤµ¤¬1,2¤Î¾ì¹ç if eidx_PTS - RWPSI = 1 { ;ÆäË2¤Î¾ì¹ç //¤³¤³¤Ç¥½¡¼¥È¤·¤Æ¤·¤Þ¤¦ if TGT(RWPSI) < TGT(eidx_PTS) { ;Í׸ò´¹ tmpnum = TGT(RWPSI) : TGT(RWPSI) = TGT(eidx_PTS) : TGT(eidx_PTS) = tmpnum tmpnum2 = ATTENDANT(RWPSI) : ATTENDANT(RWPSI) = ATTENDANT(eidx_PTS) : ATTENDANT(eidx_PTS) = tmpnum2 } } } ;< finish check > if StackCnt = 0 : break loop } else { ;¾º½ç repeat ;< pop > sidx_PTS = STACK(2*StackCnt-2) : eidx_PTS = STACK(2*StackCnt-1) if TGT(sidx_PTS) < TGT(sidx_PTS+1) : p = TGT(sidx_PTS+1) : else : p = TGT(sidx_PTS) ;p¤Ï¶è´Ö¤Îº¸Ã¼2ÃͤΤ¦¤ÁÂ礭¤¤Êý¤È¤¹¤ë ;< thresholding > RWPSI = sidx_PTS : LWPSI = eidx_PTS repeat ;< rightward scan > repeat if TGT(RWPSI) >= p : break RWPSI ++ loop ;< leftward scan > repeat if TGT(LWPSI) <= p : break LWPSI -- loop if RWPSI < LWPSI { ;Í׸ò´¹ tmpnum = TGT(RWPSI) : TGT(RWPSI) = TGT(LWPSI) : TGT(LWPSI) = tmpnum tmpnum2 = ATTENDANT(RWPSI) : ATTENDANT(RWPSI) = ATTENDANT(LWPSI) : ATTENDANT(LWPSI) = tmpnum2 RWPSI ++ : LWPSI -- } else : break loop ;< division > ;RWPSI¤Îº¸ÎÙ¤ò¶­³¦¤È¤·¤ÆPTS¤òʬ³ä¤¹¤ë StackCnt -- ;< º¸Â¦¿·µ¬¶è´Ö¸õÊä¤Î¶ãÌ£ > if RWPSI - sidx_PTS >= 3 { ;ÅÐÏ¿²ÁÃÍÍ­¤ê STACK(2*StackCnt) = sidx_PTS, RWPSI-1 StackCnt ++ } else { ;º¸Â¦¿·µ¬¶è´Ö¸õÊä¤ÎŤµ¤¬0¡Á2¤Î¾ì¹ç if RWPSI - sidx_PTS = 2 { ;ÆäË2¤Î¾ì¹ç //¤³¤³¤Ç¥½¡¼¥È¤·¤Æ¤·¤Þ¤¦ if TGT(sidx_PTS) > TGT(sidx_PTS+1) { ;Í׸ò´¹ sidx_PTSplus = sidx_PTS+1 tmpnum = TGT(sidx_PTS) : TGT(sidx_PTS) = TGT(sidx_PTSplus) : RWPSI(sidx_PTSplus) = tmpnum tmpnum2 = ATTENDANT(sidx_PTS) : ATTENDANT(sidx_PTS) = ATTENDANT(sidx_PTSplus) : ATTENDANT(sidx_PTSplus) = tmpnum2 } } } ;< ±¦Â¦¿·µ¬¶è´Ö¸õÊä¤Î¶ãÌ£ > if eidx_PTS - RWPSI >= 2 { ;ÅÐÏ¿²ÁÃÍÍ­¤ê STACK(2*StackCnt) = RWPSI,eidx_PTS StackCnt ++ } else { ;±¦Â¦¿·µ¬¶è´Ö¸õÊä¤ÎŤµ¤¬1,2¤Î¾ì¹ç if eidx_PTS - RWPSI = 1 { ;ÆäË2¤Î¾ì¹ç //¤³¤³¤Ç¥½¡¼¥È¤·¤Æ¤·¤Þ¤¦ if TGT(RWPSI) > TGT(eidx_PTS) { ;Í׸ò´¹ tmpnum = TGT(RWPSI) : TGT(RWPSI) = TGT(eidx_PTS) : TGT(eidx_PTS) = tmpnum tmpnum2 = ATTENDANT(RWPSI) : ATTENDANT(RWPSI) = ATTENDANT(eidx_PTS) : ATTENDANT(eidx_PTS) = tmpnum2 } } } ;< finish check > if StackCnt = 0 : break loop } return #global //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// screen 0,350,480 #define N 2000 mes "¡Á sort test ¡Á\n"+N+" elements" ;< MS2_Quick3 > mes "< MS2_Quick3 >" dim TGT, N //¥¿¡¼¥²¥Ã¥È dim TGTCPY, N //¢¬¤Î¥³¥Ô¡¼ dim FOLLOWER, N //ÉÕ¤­Åº¤¤ÇÛÎó repeat N : TGT(cnt) = rnd(N) : FOLLOWER(cnt) = cnt : loop : memcpy TGTCPY,TGT, 4*N wait 50 t1 = timeGetTime() MS2_Quick3 TGT,FOLLOWER, 0, 0,N-1 t2 = timeGetTime() mes "It took "+str(t2-t1)+" ms." ;< quicksort > mes "< quicksort >" dim TGT, N wait 50 t1 = timeGetTime() quicksort TGT,0,N-1 t2 = timeGetTime() mes "It took "+str(t2-t1)+" ms."



FunnyMaker

¥ê¥ó¥¯

2015/3/15(Sun) 14:40:10|NO.67885

¼ºÎé¡£»ä¤Î·ë²Ì¤ò½ñ¤­Ëº¤ì¤Æ¤¤¤Þ¤·¤¿¡£

MS2_Quick3 : 55ms
quicksort : 72ms

¤Ç¤¹¡£
¸À¤¦¤Þ¤Ç¤â¤Ê¤¯»ä¤Î¥â¥¸¥å¡¼¥ë¤Ç¤Ï¾¤ÎÇÛÎó¤ò´¬¤­Åº¤¨¤Ë¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¤½¤ì¤Ç¤â¤Ê¤ªÂ®ÅÙÌ̤ǺƵ¢·¿¤Ë¾¡¤Ã¤Æ¤¤¤Þ¤¹¡£



FunnyMaker

¥ê¥ó¥¯

2015/3/15(Sun) 16:56:08|NO.67886

ÂçÊѼºÎ餷¤Þ¤·¤¿¡£Âоݥǡ¼¥¿¤¬Ê¿Åù¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤¢¤ì¤Ç¤ÏÈæ³Ó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¤Í¡£
¶áÆüÈè¤ì¤Æ¤¤¤ë¤»¤¤¤«¥ß¥¹¤¬...¡£¤´¤á¤ó¤Ê¤µ¤¤¡£

¾ÇÛÎó¤Î´¬¤­Åº¤¨¤â³°¤·¤Æ¡¢ºÆµ¢¤ÈÈóºÆµ¢¤Î°ã¤¤¤Ë¾ÇÅÀ¤ò¹Ê¤Ã¤Æ¥Æ¥¹¥È¤ò¤ä¤êľ¤·¤Þ¤·¤¿¡£

< CPU > Intel Celeron 1.20 GHz
< Internal cache > 1st : 32KB, 2nd : 256 KB
< RAM > PC133 SDRAM 512MB

Í×ÁÇ¿ô 2000 int·¿

nonRecQuicksort : 45 ms
quicksort : 63 ms

( 63/45 = 1.4 )


#uselib "winmm.dll" #cfunc timeGetTime "timeGetTime" //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// //¥¯¥¤¥Ã¥¯¥½¡¼¥È //Wikipedia C¸À¸ì¼ÂÁõÎã¤è¤ê #module #defcfunc med3 int x,int y,int z //x, y, z ¤ÎÃæ´ÖÃͤòÊÖ¤¹ if x<y { if y<z :return y :else :if z<x :return x :else :return z } else { if z<y :return y :else :if x<z :return x :else :return z } return 0 #deffunc quicksort array a,int left,int right /* ¥¯¥¤¥Ã¥¯¥½¡¼¥È * a : ¥½¡¼¥È¤¹¤ëÇÛÎó * left : ¥½¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Î³«»Ï°ÌÃÖ * right : ¥½¡¼¥È¤¹¤ë¥Ç¡¼¥¿¤Î½ªÎ»°ÌÃÖ */ if left < right { i =left :j =right tmp =0 :pivot =med3(a(i),a(i+(j-i)/2),a(j)) //(i+j)/2¤Ç¤Ï¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Æ¤·¤Þ¤¦ repeat //a[] ¤ò pivot °Ê¾å¤È°Ê²¼¤Î½¸¤Þ¤ê¤Ëʬ³ä¤¹¤ë repeat if a(i)>=pivot :break //a[i] >= pivot ¤È¤Ê¤ë°ÌÃÖ¤ò¸¡º÷ i++ loop repeat if pivot>=a(j) :break //a[j] <= pivot ¤È¤Ê¤ë°ÌÃÖ¤ò¸¡º÷ j-- loop if i>=j :break tmp =a(i) :a(i) =a(j) :a(j) =tmp //a[i],a[j] ¤ò¸ò´¹ i++ :j-- loop quicksort a,left,i-1 quicksort a,j+1,right } return #global //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// #module N_M_S2_5 ;1¼¡¸µÇÛÎó¤Î¥¯¥¤¥Ã¥¯¥½¡¼¥È ;¶è´Ö¤ò»ØÄê¤Ç¤­¤ë¡£ ; ;[½ñ¼°] ; ; nonRecQuicksort TGT , opt, s,e ; ; TGT : ¥¿¡¼¥²¥Ã¥ÈÇÛÎó ; opt : À°Î󥪥ץ·¥ç¥ó(0,other)=(¾º½ç,¹ß½ç) ; s,e : ³«»Ï,½ªÎ»¥¤¥ó¥Ç¥Ã¥¯¥¹ ; ;[È÷¹Í] ; ; Í×ÁÇ¿ô1°Ê²¼¤Î¥Ç¡¼¥¿¤òÅϤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ ; ¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¾Ê¤¤¤Æ¤¤¤ë¡£°ú¿ô¤ÎÉÔÀµ¤ÏÃ×Ì¿½ý¤Ë¤Ê¤ë¡£ #deffunc nonRecQuicksort array TGT, int opt, int s,int e ;[ÄêµÁ] ; ;¡¦¡ÖASTGT (Assigned Section in TGT)¡× : ¥¿¡¼¥²¥Ã¥ÈÇÛÎó¤Î¤¦¤Á¡¢º£²ó¥½¡¼¥ÈÂоݤȤʤäƤ¤¤ëÈÏ°Ï¡£ ;¡¦¡Öthresholding¡× : °ìÄê¤Î¶è´ÖÆâ¤Ç¥Ô¥Ü¥Ã¥È(¤³¤ÎÃͤòp¤È¤¹¤ë)¤ò·èÄꤷ¡¢p¤òïçÃͤȤ·¤ÆÍ×ÁǤò¶è´ÖÁ°¸å¤Ë¿¶¤êʬ¤±¤ëÁàºî¡£ ;¡¦¡ÖPTS (Present Thresholding Section)¡× : thresholdingÁàºî¤ÎÂоݤȤʤäƤ¤¤ë¶è´Ö¡£ ;¡¦¡ÖPSI (Present Scan Index)¡× : thresholdingÁàºî¤Ë¤ª¤¤¤Æp°Ê²¼,°Ê¾å¤ÎÃͤòõº÷¤¹¤ë¤¿¤á¤Î¸½ºß¸¡ººÃæ¤ÎÍ×ÁǤΥ¤¥ó¥Ç¥Ã¥¯¥¹¡£º¸¢ª±¦¤Î¸¡ºº¤Ç¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò¡ÖRWPSI (Rightward PSI)¡×¡¢±¦¢ªº¸¤Î¤â¤Î¤ò¡ÖLWPSI (Leftward PSI)¡×¤È¸Æ¤Ö¡£ ;¡¦¡Ödivision¡× : thresholdingÁàºî´°Î»¸å¡¢PTS¤ò2ʬ³ä¤¹¤ëÁàºî¡£ len_ASTGT = e-s+1 ;ASTGT¤ÎŤµ StackCnt = 1 ;¥¹¥¿¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¶è´Ö¿ô(½é´ü²½) dim STACK,len_ASTGT : STACK = s,e ;¥¹¥¿¥Ã¥¯½é´ü²½¡£Í×ÁÇ(2*i),(2*i+1)¤ËÂèi¶è´Ö¤Î³«»Ï,½ªÎ»¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬µ­Ï¿¤µ¤ì¤ë¡£ if opt { ;¹ß½ç repeat ;< pop > sidx_PTS = STACK(2*StackCnt-2) : eidx_PTS = STACK(2*StackCnt-1) ;PTS³«»Ï/½ªÎ»¥¤¥ó¥Ç¥Ã¥¯¥¹ if TGT(sidx_PTS) < TGT(sidx_PTS+1) : p = TGT(sidx_PTS) : else : p = TGT(sidx_PTS+1) ;p¤Ï¶è´Ö¤Îº¸Ã¼2ÃͤΤ¦¤Á¾®¤µ¤¤Êý¤È¤¹¤ë ;< thresholding > RWPSI = sidx_PTS : LWPSI = eidx_PTS repeat ;< rightward scan > repeat if TGT(RWPSI) <= p : break RWPSI ++ loop ;< leftward scan > repeat if TGT(LWPSI) >= p : break LWPSI -- loop if RWPSI < LWPSI { ;Í׸ò´¹ tmpnum = TGT(RWPSI) : TGT(RWPSI) = TGT(LWPSI) : TGT(LWPSI) = tmpnum ;TGT RWPSI ++ : LWPSI -- } else : break ;Í×ʬ³ä¡£¤³¤³¤Ç¼¡¤Î¤³¤È¤¬Êݾڤµ¤ì¤Æ¤¤¤ë¡£­¡ sidx_PTS¡åLWPSI¡åRWPSI¡åeidx_PSI ­¢ RWPSI-LWPSI¡å1 loop ;< division > ;RWPSI¤Îº¸ÎÙ¤ò¶­³¦¤È¤·¤ÆPTS¤òʬ³ä¤¹¤ë StackCnt -- ;¸½PTS¤ÎÅÐÏ¿²ò½ü ;< º¸Â¦¿·µ¬¶è´Ö¸õÊä¤Î¶ãÌ£ > if RWPSI - sidx_PTS >= 3 { ;ÅÐÏ¿²ÁÃÍÍ­¤ê STACK(2*StackCnt) = sidx_PTS, RWPSI-1 StackCnt ++ } else { ;º¸Â¦¿·µ¬¶è´Ö¸õÊä¤ÎŤµ¤¬0¡Á2¤Î¾ì¹ç if RWPSI - sidx_PTS = 2 { ;ÆäË2¤Î¾ì¹ç //¤³¤³¤Ç¥½¡¼¥È¤·¤Æ¤·¤Þ¤¦ if TGT(sidx_PTS) < TGT(sidx_PTS+1) { ;Í׸ò´¹ sidx_PTSplus = sidx_PTS+1 tmpnum = TGT(sidx_PTS) : TGT(sidx_PTS) = TGT(sidx_PTSplus) : TGT(sidx_PTSplus) = tmpnum } } } ;< ±¦Â¦¿·µ¬¶è´Ö¸õÊä¤Î¶ãÌ£ > if eidx_PTS - RWPSI >= 2 { ;ÅÐÏ¿²ÁÃÍÍ­¤ê STACK(2*StackCnt) = RWPSI, eidx_PTS StackCnt ++ } else { ;±¦Â¦¿·µ¬¶è´Ö¸õÊä¤ÎŤµ¤¬1,2¤Î¾ì¹ç if eidx_PTS - RWPSI = 1 { ;ÆäË2¤Î¾ì¹ç //¤³¤³¤Ç¥½¡¼¥È¤·¤Æ¤·¤Þ¤¦ if TGT(RWPSI) < TGT(eidx_PTS) { ;Í׸ò´¹ tmpnum = TGT(RWPSI) : TGT(RWPSI) = TGT(eidx_PTS) : TGT(eidx_PTS) = tmpnum } } } ;< finish check > if StackCnt = 0 : break loop } else { ;¾º½ç repeat ;< pop > sidx_PTS = STACK(2*StackCnt-2) : eidx_PTS = STACK(2*StackCnt-1) if TGT(sidx_PTS) < TGT(sidx_PTS+1) : p = TGT(sidx_PTS+1) : else : p = TGT(sidx_PTS) ;p¤Ï¶è´Ö¤Îº¸Ã¼2ÃͤΤ¦¤ÁÂ礭¤¤Êý¤È¤¹¤ë ;< thresholding > RWPSI = sidx_PTS : LWPSI = eidx_PTS repeat ;< rightward scan > repeat if TGT(RWPSI) >= p : break RWPSI ++ loop ;< leftward scan > repeat if TGT(LWPSI) <= p : break LWPSI -- loop if RWPSI < LWPSI { ;Í׸ò´¹ tmpnum = TGT(RWPSI) : TGT(RWPSI) = TGT(LWPSI) : TGT(LWPSI) = tmpnum RWPSI ++ : LWPSI -- } else : break loop ;< division > ;RWPSI¤Îº¸ÎÙ¤ò¶­³¦¤È¤·¤ÆPTS¤òʬ³ä¤¹¤ë StackCnt -- ;< º¸Â¦¿·µ¬¶è´Ö¸õÊä¤Î¶ãÌ£ > if RWPSI - sidx_PTS >= 3 { ;ÅÐÏ¿²ÁÃÍÍ­¤ê STACK(2*StackCnt) = sidx_PTS, RWPSI-1 StackCnt ++ } else { ;º¸Â¦¿·µ¬¶è´Ö¸õÊä¤ÎŤµ¤¬0¡Á2¤Î¾ì¹ç if RWPSI - sidx_PTS = 2 { ;ÆäË2¤Î¾ì¹ç //¤³¤³¤Ç¥½¡¼¥È¤·¤Æ¤·¤Þ¤¦ if TGT(sidx_PTS) > TGT(sidx_PTS+1) { ;Í׸ò´¹ sidx_PTSplus = sidx_PTS+1 tmpnum = TGT(sidx_PTS) : TGT(sidx_PTS) = TGT(sidx_PTSplus) : RWPSI(sidx_PTSplus) = tmpnum } } } ;< ±¦Â¦¿·µ¬¶è´Ö¸õÊä¤Î¶ãÌ£ > if eidx_PTS - RWPSI >= 2 { ;ÅÐÏ¿²ÁÃÍÍ­¤ê STACK(2*StackCnt) = RWPSI,eidx_PTS StackCnt ++ } else { ;±¦Â¦¿·µ¬¶è´Ö¸õÊä¤ÎŤµ¤¬1,2¤Î¾ì¹ç if eidx_PTS - RWPSI = 1 { ;ÆäË2¤Î¾ì¹ç //¤³¤³¤Ç¥½¡¼¥È¤·¤Æ¤·¤Þ¤¦ if TGT(RWPSI) > TGT(eidx_PTS) { ;Í׸ò´¹ tmpnum = TGT(RWPSI) : TGT(RWPSI) = TGT(eidx_PTS) : TGT(eidx_PTS) = tmpnum } } } ;< finish check > if StackCnt = 0 : break loop } return #global //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// screen 0,350,480 #define N 2000 mes "¡Á sort test ¡Á\n"+N+" elements" ;< nonRecQuicksort > mes "< nonRecQuicksort >" dim TGT, N //¥¿¡¼¥²¥Ã¥È repeat N : TGT(cnt) = rnd(N) : loop wait 50 t1 = timeGetTime() nonRecQuicksort TGT, 0, 0,N-1 t2 = timeGetTime() mes "It took "+str(t2-t1)+" ms." ;< quicksort > mes "< quicksort >" dim TGT, N repeat N : TGT(cnt) = rnd(N) : loop wait 50 t1 = timeGetTime() quicksort TGT,0,N-1 t2 = timeGetTime() mes "It took "+str(t2-t1)+" ms."



FunnyMaker

¥ê¥ó¥¯

2015/3/15(Sun) 17:17:13|NO.67887

¤Þ¤¿¥ß¥¹¤Ëµ¤¤Å¤¤¤¿¤Î¤ÇÄɵ­¡£¥¿¥¤¥à¤ÏÊѤï¤ê¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡£
¥Æ¥¹¥ÈÍÑ¥³¡¼¥ÉÃæ¤Ë2¤Ä¤¢¤ë¡¢¥¿¡¼¥²¥Ã¥ÈÀ¸À®ÍѤÎ
repeat N : TGT(cnt) = rnd(N) : loop
¤È¤¤¤¦Ê¸¤ÎÁ°¤Ë
randomize 0
¤òÊä¤Ã¤Æ¤¯¤À¤µ¤¤¡£

(¤¦¤ó¡¢º£Æü¤Ï¤â¤¦¤À¤á¤À¤Ê¤¡(¾Ð))



cmoritoshi

¥ê¥ó¥¯

2015/3/15(Sun) 17:34:32|NO.67888

¤ª¤ª¡ª½èÍý»þ´Ö¤Ëº¹¤¬½Ð¤ë¤ó¤Ç¤¹¤Í¡£
¥Ç¡¼¥¿¤¬Â¿¤¤¤È»þ´Ö¤Îº¹¤¬¸²Ãø¤Ëɽ¤ì¤Æ¤­¤Þ¤¹¤â¤ó¤Í¡£

²óÅú¤·¤Æ¤¯¤ì¤¿¤ªÆóÊý¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£



¥ì¥Î¥¹

¥ê¥ó¥¯

2015/3/16(Mon) 01:57:39|NO.67910

> quicksort a,left,i-1
> quicksort a,j+1,right
¤³¤³¤Î1¹ÔÌܤΠquicksort ¤ÎÃæ¤Ç i, j ¤ÎÃͤ¬ÊѤï¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
2¹ÔÌܤΰú¿ô¤Î j ¤ÏÁÛÄꤵ¤ì¤Æ¤¤¤ëÃͤˤʤäƤޤ¹¡£
(¼ÂºÝ¤Î¤È¤³¤í j ¤Ï (i-1) ¤è¤ê¾®¤µ¤¤ÃͤËÊѲ½¤¹¤ë¤Î¤Ç¡¢É¬Íװʾå¤ÎÈϰϤò¥½¡¼¥È¤·¤Þ¤¹¡£)

¤³¤ÎÎã¤Ç¤Ï¤¢¤Þ¤êÌäÂê¤Ê¤¤¤Ç¤¹¤¬¡¢°ì±þ¡£



anal

¥ê¥ó¥¯

2015/3/16(Mon) 02:03:37|NO.67911

¥ì¥Î¥¹»á¤Î½ñ¤­¹þ¤ß¸«¤Æ»×¤Ã¤¿¤ó¤À¤¬HSP¤ÇºÆµ¢¤Ã¤Æ¤¤¤í¤¤¤í¤È¤á¤ó¤É¤¯¤µ¤¤µ¤¤¬
ÊÑ¿ô¤¬¥¹¥¿¥Ã¥¯¤ËµÍ¤Þ¤ì¤ë¤ï¤±¤¸¤ã¤Ê¤¤¤«¤é¡¢»×¤ï¤Ì½ñ¤­´¹¤¨¤¢¤ë¤«¤â¤·¤ì¤ó¤·
FunnyMonkey»á¤Î¤è¤¦¤Ê¥ë¡¼¥×¤Ç¤ä¤Ã¤¿¤Û¤¦¤¬°ÂÁ´À­¤ÎÌ̤Ǥ⤤¤¤¤«¤â



end

¥ê¥ó¥¯

2015/3/16(Mon) 06:23:00|NO.67912

³Î¤«¡ÖZP¡£¡×»á¤âƱ¤¸¤è¤¦¤Ê¼ÁÌ䤷¤¿¤è¤¦¤Ê¡£
http://hsp.tv/play/pforum.php?mode=all&num=66493
¥¯¥¤¥Ã¥¯¥½¡¼¥È¤«¤Ïʬ¤«¤ê¤Þ¤»¤ó¤¬¡¢»²¹Í¤Ë¤Ê¤ì¤Ð¹¬¤¤¤Ç¤¹¡£



FunnyMaker

¥ê¥ó¥¯

2015/3/16(Mon) 07:35:12|NO.67915

>¥ì¥Î¥¹ ¤µ¤ó

¤½¤¦¤Ç¤¹¤è¤Í¡£
¤Þ¤¡¡¢i,j¤ÎÀä̯¤Ê¥Ð¥é¥ó¥¹¤Ë¤è¤Ã¤Æ»³²¤Ï¤´¤¯¾®¤µ¤¯¤È¤É¤á¤é¤ì¤Æ¤¤¤Þ¤¹¤¬¡£
ºòÆü¤Ï̲¤¹¤®¤Æ¸«Æ¨¤·¤Æ¤¿¤ó¤Ç¤¹¤¬¡¢i,j¤¬¥í¡¼¥«¥ë»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¤Í¡£
¤³¤ì¤Ïͳ¡¹¤·¤­»öÂÖ¡£
HSPÉÕ°¥É¥­¥å¥á¥ó¥È¤Î¡Ö¥â¥¸¥å¡¼¥ëµ¡Ç½¥¬¥¤¥É¡×¤Ë¤Ï¤³¤¦¤¢¤ê¤Þ¤¹¡£

¡¡¥â¥¸¥å¡¼¥ëÆâ¤ÎÊÑ¿ô¤Ï¡¢´ðËÜŪ¤Ë¤¹¤Ù¤ÆÀÅŪ(static)¤Ë¶¦Í­¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ ¤Ä¤Þ¤ê°ìÅÙÀßÄꤵ¤ì¤¿ÊÑ¿ô¤Ï¡¢Â¾¤ÎÃͤ¬ÂåÆþ¤µ¤ì¤Ê¤¤¸Â¤ê¡¢ÆâÍƤò¼º¤¦ ¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ ¤³¤Î¤¿¤á¡¢ºÆµ¢¸Æ¤Ó½Ð¤·(¼«Ê¬¼«¿È¤ò¸Æ¤Ó½Ð¤¹¤³¤È) ¤ò¹Ô¤Ê¤¦¾ì¹ç¤Ë¤ÏÃí°Õ¤¬É¬ÍפǤ¹¡£ ¡¡¤½¤ì¤¾¤ì¤ÎÄêµÁÌ¿ÎáÆâ¤Ç¤Ï¡¢localÀë¸À¤Ë¤è¤êÌÀ¼¨Åª¤Ë¥í¡¼¥«¥ë¤ÊÊÑ¿ô¤ò ºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ºÆµ¢¸Æ¤Ó½Ð¤·¤ò¹Ô¤Ê¤¦¾ì¹ç¤Ë¤Ï¡¢É¬¤ºÆâÉô¤Ç »ÈÍѤ¹¤ëÊÑ¿ô¤ò¥í¡¼¥«¥ë¤Ë¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ (¥í¡¼¥«¥ëÀë¸À¤ò¹Ô¤Ê¤¦¤È¡¢ÊÑ¿ô¤ÎÀ¸À®¤ÈÇË´þ¤Î¤¿¤á¤ËÄ̾ï¤è¤ê¤â ¼Â¹Ô¥³¥¹¥È¤¬¤«¤«¤ë¤³¤È¤âα°Õ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£)

¤È¤¤¤¦¤³¤È¤Ç¡¢

#deffunc quicksort array a,int left,int right
¤ò¡¢

#deffunc quicksort array a,int left,int right, local i,local j
¤È¤¹¤ë¤³¤È¤Ç°ÂÁ´À­¤Ï³ÎÊݤǤ­¤ë¤ó¤¸¤ã¤Ê¤¤¤«»×¤¤¤Þ¤¹¡£
ÅöÁ³¡¢ÊÑ¿ô¤ÎÀ¸À®¡¦ÇË´þ¤Î¤ªº×¤ê¤Ë¤Ê¤ë¤Î¤Ç¼Â¹Ô¥³¥¹¥È¤¬¾å¤¬¤ê¤Þ¤¹¤¬¡£


>end ¤µ¤ó
¤¢¡¢²û¤«¤·¤¤...¡£
º£¹¹¤Ê¤ó¤Ç¤¹¤¬¡¢¤¢¤Î¥¹¥¯¥ê¥×¥È¤Çgosub¤Î¥Í¥¹¥È¤¬511¤òĶ¤¨¤¿¤Î¤Ï¡¢¥Ô¥Ü¥Ã¥È¤Î¼è¤êÊý¤ÈºÆµ¢¤Î»ÅÊý¤¬°­¤¤¤«¤é¤Ê¤ó¤À¤È»×¤¦¤ó¤Ç¤¹¤è¤Í¡£
¤¢¤Î¤È¤­¼«¿®¤¬¤Ê¤¯¤Æ¤½¤³¤Ë¸ÀµÚ¤Ç¤­¤Ê¤«¤Ã¤¿¤Î¤¬²ù¤ä¤Þ¤ì¤Þ¤¹¡£
(¤Ç¤Ê¤¤¤È¡¢No.67884¤Ç¤Î»ä¤Îȯ¸À¤È¤Î´Ö¤ËÌ·½â¤¬À¸¤¸¤ë)

¥Ô¥Ü¥Ã¥È¤òïçÃͤȤ·¤ÆÍ×ÁǤòÁ°¸å¤Ë¿¶¤êʬ¤±¤ëÁàºî¤ò¤¹¤ë¤È¡¢Ä̾ï¤Ï2¤Ä¤Î¶è´Ö¤¬¿·¤¿¤ËȯÀ¸¤·¤Þ¤¹¡£
¤³¤³¤Ç¡¢¡Ö¤è¤ê¿È¶á¤¤Êý¡×¤òÍ¥À褷¤ÆºÆµ¢¤ÇÅϤ¹¤³¤È¤Ë¤è¤ê¡¢Á´Í×ÁÇ¿ô 2^511 ¤Þ¤Ç¤Ê¤é³Î¼Â¤ËÂѤ¨¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¤È¹Í¤¨¤Æ¤¤¤Þ¤¹¡£
(2ʬˡ¤Î¤è¤¦¤Ê¥¤¥á¡¼¥¸¤Ç¤¹¤¬¡¢¤³¤Î¾ì¹ç¡¢À¸À®¤µ¤ì¤ë¶è´Ö¤Î°ìÊý¤Ïɬ¤º¸µ¤ÎȾʬ¤è¤ê¤âû¤¯¤Ê¤ê¤Þ¤¹)



FunnyMaker

¥ê¥ó¥¯

2015/3/16(Mon) 07:37:22|NO.67916

¸í»úÄûÀµ

¡Ö¤è¤ê¿È¶á¤¤Êý¡× ¢ª ¡Ö¤è¤êû¤¤Êý¡×



cmoritoshi

¥ê¥ó¥¯

2015/3/16(Mon) 23:02:07|NO.67940

¤ä¤Ã¤Ñ¤êºÆµ¢¤À¤ÈÆ°ºî¤¬²ø¤·¤¯¤Ê¤ë¤ó¤Ç¤¹¤Í¡£
ºÆµ¢¤Ï¤¢¤Þ¤ê»È¤ï¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£



ONION software Copyright 1997-2023(c) All rights reserved.