すのものの「いろいろ」(その288)


川べりのカップルが等間隔に並ぶところをシミュレート(その1)

川べりに何組かのカップルがいると,いつのまにか等間隔に並んでしまうという。 それをシミュレートしてみた。

どのカップルも,次の瞬間には, その時点での両側カップルの中点に移動する,としてみた。 両端のカップルは固定されているものとする。

プログラム。 「#define UNIT 1000*1000*100」 は 「#define UNIT (1000*1000*100)」 とすべきであったが,本プログラムでは影響なし。

#include <stdio.h>
#include <stdlib.h> /* rand(), srand() */
#include <time.h>   /* time() */

#define N 10                /* カップルの数 - 1 */
#define UNIT 1000*1000*100  /* 距離の単位 */
#define TIMES 256           /* 何回くりかえすか */

void init(void);
void print(int n);
void swap(int i, int j);
void sort(void);

int a[N+1];     /* これで a[0] ... a[N] が使える */
int b[N+1];

main() {
    int i, j;

    init();                                     /* 初期化 */
    print(-1);                                  /* 画面表示(ソート前)*/
    sort();
    print(0);
    for (i = 1; i < TIMES; i++) {
        for (j = 1; j < N; j++) {
           b[j] = (a[j-1] + a[j+1]) / 2;        /* 両側カップルの中点に移動 */
        }
        for (j = 1; j < N; j++) {
           a[j] = b[j];
        }
        print(i);
    }
}

void init(void) {   /* 初期化 */
    int i;

    {
        unsigned seed = (unsigned)time(NULL);     /* 現在時刻を取得して */
        printf("乱数の種は %u です.\n", seed);
        srand(seed);                                /* それを乱数の種に */
    }

    a[0] = 0;                                       /* 両端は固定 */
    a[N] = UNIT*N;

    for (i = 1; i < N; i++) {
        a[i] = rand() % (N*UNIT);
    }
}

void print(int n) {
    int i;

    printf("%3d:", n);
    for (i = 0; i <= N; i++) {
        printf("%11d ", a[i]);
    }
    putchar('\n');
}

void swap(int i, int j) {
    int tmp = a[i];
    a[i] = a[j];
    a[j] = tmp;
}

/* a[1] から a[N-1] を小さい順に並べ直す。挿入ソート */
void sort(void) {
    int i, j;

    for (i = 2; i < N; i++) {
        for (j = i; j > 1 && a[j-1] > a[j]; j--) {
            swap(j-1, j);
        }
    }
}

結果を載せる。-1 番めは乱数でカップルの位置を決めただけ, 0 番めは小さい順に並べたもので, 1 番め以降がシミュレートしたものである。 実験は三度おこなった。

乱数の種は 1479797184 です.
 -1:          0   965381888    76099630   293715757   990253321   701268594   493828648   791260942   404866632   325840101  1000000000 
  0:          0    76099630   293715757   325840101   404866632   493828648   701268594   791260942   965381888   990253321  1000000000 
  1:          0   146857878   200969865   349291194   409834374   553067613   642544795   833325241   890757131   982690944  1000000000 
  2:          0   100484932   248074536   305402119   451179403   526189584   693196427   766650963   908008092   945378565  1000000000 
  3:          0   124037268   202943525   349626969   415795851   572187915   646420273   800602259   856014764   954004046  1000000000 
  4:          0   101471762   236832118   309369688   460907442   531108062   686395087   751217518   877303152   928007382  1000000000 
  5:          0   118416059   205420725   348869780   420238875   573651264   641162790   781849119   839612450   938651576  1000000000 
  6:          0   102710362   233642919   312829800   461260522   530700832   677750191   740387620   860250347   919806225  1000000000 
  7:          0   116821459   207770081   347451720   421765316   569505356   635544226   769000269   830096922   930125173  1000000000 
  8:          0   103885040   232136589   314767698   458478538   528654771   669252812   732820574   849562721   915048461  1000000000 
  9:          0   116068294   209326369   345307563   421711234   563865675   630737672   759407766   823934517   924781360  1000000000 
 10:          0   104663184   230687928   315518801   454586619   526224453   661636720   727336094   842094563   911967258  1000000000 
 11:          0   115343964   210090992   342637273   420871627   558111669   626780273   751865641   819651676   921047281  1000000000 
 12:          0   105045496   228990618   315481309   450374471   523825950   654988655   723215974   836456461   909825838  1000000000 
 13:          0   114495309   210263402   339682544   419653629   552681563   623520962   745722558   816520906   918228230  1000000000 
 14:          0   105131701   227088926   314958515   446182053   521587295   649202060   720020934   831975394   908260453  1000000000 
 15:          0   113544463   210045108   336635489   418272905   547692056   620804114   740588727   814140693   915987697  1000000000 
 16:          0   105022554   225089976   314159006   442163772   519538509   644140391   717472403   828288212   907070346  1000000000 
 17:          0   112544988   209590780   333626874   416848757   543152081   618505456   736214301   812271374   914144106  1000000000 
 18:          0   104795390   223085931   313219768   438389477   517677106   639683191   715388415   825179203   906135687  1000000000 
 19:          0   111542965   209007579   330737704   415448437   539036334   616532760   732431197   810762051   912589601  1000000000 
 20:          0   104503789   221140334   312228008   434887019   515990598   635733765   713647405   822510399   905381025  1000000000 
 21:          0   110570167   208365898   328013676   414109303   535310392   614819001   729122082   809514215   911255199  1000000000 
 22:          0   104182949   219291921   311237600   431662034   514464152   632216237   712166608   820188640   904757107  1000000000 
 23:          0   109645960   207710274   325476977   412850876   531939135   613315380   726202438   808461857   910094320  1000000000 
 24:          0   103855137   217561468   310280575   428708056   513083128   629070786   710888618   818148379   904230928  1000000000 
 25:          0   108780734   207067856   323134762   411681851   528889421   611985873   723609582   807559773   909074189  1000000000 
 26:          0   103533928   215957748   309374853   426012091   511833862   626249501   709772823   816341885   903779886  1000000000 
 27:          0   107978874   206454390   320984919   410604357   526130796   610803342   721295693   806776354   908170942  1000000000 
 28:          0   103227195   214481896   308529373   423557857   510703849   623713244   708789848   814733317   903388177  1000000000 
 29:          0   107240948   205878284   319019876   409616611   523635550   609746848   719223280   806089012   907366658  1000000000 
 30:          0   102939142   213130412   307747447   421327713   509681729   621429415   707917930   813294969   903044506  1000000000 
 31:          0   106565206   205343294   317229062   408714588   521378564   608799829   717362192   805481218   906647484  1000000000 
 32:          0   102671647   211897134   307028941   419303813   508757208   619370378   707140523   812004838   902740609  1000000000 
 33:          0   105948567   204850294   315600473   407893074   519337095   607948865   715687608   804940566   906002419  1000000000 
 34:          0   102425147   210774520   306371684   417468784   507920969   617512351   706444715   810845013   902470283  1000000000 
 35:          0   105387260   204398415   314121652   407146326   517490567   607182842   714178682   804457499   905422506  1000000000 
 36:          0   102199207   209754456   305772370   415806109   507164584   615834624   705820170   809800594   902228749  1000000000 
 37:          0   104877228   203985788   312780282   406468477   515820366   606492377   712817609   804024459   904900297  1000000000 
 38:          0   101992894   208828755   305227132   414300324   506480427   614318987   705258418   808858953   902012229  1000000000 
 39:          0   104414377   203610013   311564539   405853779   514309655   605869422   711588970   803635323   904429476  1000000000 
 40:          0   101805006   207989458   304731896   412937097   505861600   612949312   704752372   808009223   901817661  1000000000 
 41:          0   103994729   203268451   310463277   405296748   512943204   605306986   710479267   803285016   904004611  1000000000 
 42:          0   101634225   207229003   304282599   411703240   505301867   611711235   704296001   807241939   901642508  1000000000 
 43:          0   103614501   202958412   309466121   404792233   511707237   604798934   709476587   802969254   903620969  1000000000 
 44:          0   101479206   206540311   303875322   410586679   504795583   610591912   703884094   806548778   901484627  1000000000 
 45:          0   103270155   202677264   308563495   404335452   510589295   604339838   708570345   802684360   903274389  1000000000 
 46:          0   101338632   205916825   303506358   409576395   504337645   609579820   703512099   805922367   901342180  1000000000 
 47:          0   102958412   202422495   307746610   403922001   509578107   603924872   707751093   802427139   902961183  1000000000 
 48:          0   101211247   205352511   303172248   408662358   503923436   608664600   703176005   805356138   901213569  1000000000 
 49:          0   102676255   202191747   307007434   403547842   508663479   603549720   707010369   802194787   902678069  1000000000 
 50:          0   101095873   204841844   302869794   407835456   503548781   607836924   702872253   804844219   901097393  1000000000 
 51:          0   102420922   201982833   306338650   403209287   507836190   603210517   706340571   801984823   902422109  1000000000 
 52:          0   100991416   204379786   302596060   407087420   503209902   607088380   702597670   804381340   900992411  1000000000 
 53:          0   102189893   201793738   305733603   402902981   507087900   602903786   705734860   801795040   902190670  1000000000 
 54:          0   100896869   203961748   302348359   406410751   502903383   606411380   702349413   803962765   900897520  1000000000 
 55:          0   101980874   201622614   305186249   402625871   506411065   602626398   705187072   801623466   901981382  1000000000 
 56:          0   100811307   203583561   302124242   405798657   502626134   605799068   702124932   803584227   900811733  1000000000 
 57:          0   101791780   201467774   304691109   402375188   505798862   602375533   704691647   801468332   901792113  1000000000 
 58:          0   100733887   203241444   301921481   405244985   502375360   605245254   701921932   803241880   900734166  1000000000 
 59:          0   101620722   201327684   304243214   402148420   505245119   602148646   704243567   801328049   901620940  1000000000 
 60:          0   100663842   202931968   301738052   404744166   502148533   604744343   701738347   802932253   900664024  1000000000 
 61:          0   101465984   201200947   303838067   401943292   504744254   601943440   703838298   801201185   901466126  1000000000 
 62:          0   100600473   202652025   301572119   404291160   501943366   604291276   701572312   802652212   900600592  1000000000 
 63:          0   101326012   201086296   303471592   401757742   504291218   601757839   703471744   801086452   901326106  1000000000 
 64:          0   100543148   202398802   301422019   403881405   501757790   603881481   701422145   802398925   900543226  1000000000 
 65:          0   101199401   200982583   303140103   401589904   503881443   601589967   703140203   800982685   901199462  1000000000 
 66:          0   100491291   202169752   301286243   403510773   501589935   603510823   701286326   802169832   900491342  1000000000 
 67:          0   101084876   200888767   302840262   401438089   503510798   601438130   702840327   800888834   901084916  1000000000 
 68:          0   100444383   201962569   301163428   403175530   501438109   603175562   701163482   801962621   900444417  1000000000 
 69:          0   100981284   200803905   302569049   401300768   503175546   601300795   702569091   800803949   900981310  1000000000 
 70:          0   100401952   201775166   301052336   402872297   501300781   602872318   701052372   801775200   900401974  1000000000 
 71:          0   100887583   200727144   302323731   401176558   502872307   601176576   702323759   800727173   900887600  1000000000 
 72:          0   100363572   201605657   300951851   402598019   501176567   602598033   700951874   801605679   900363586  1000000000 
 73:          0   100802828   200657711   302101838   401064209   502598026   601064220   702101856   800657730   900802839  1000000000 
 74:          0   100328855   201452333   300860960   402349932   501064214   602349941   700860975   801452347   900328865  1000000000 
 75:          0   100726166   200594907   301901132   400962587   502349936   600962594   701901144   800594920   900726173  1000000000 
 76:          0   100297453   201313649   300778747   402125534   500962590   602125540   700778757   801313658   900297460  1000000000 
 77:          0   100656824   200538100   301719591   400870668   502125537   600870673   701719599   800538108   900656829  1000000000 
 78:          0   100269050   201188207   300704384   401922564   500870670   601922568   700704390   801188214   900269054  1000000000 
 79:          0   100594103   200486717   301555385   400787527   501922566   600787530   701555391   800486722   900594107  1000000000 
 80:          0   100243358   201074744   300637122   401738975   500787528   601738978   700637126   801074749   900243361  1000000000 
 81:          0   100537372   200440240   301406859   400712325   501738976   600712327   701406863   800440243   900537374  1000000000 
 82:          0   100220120   200972115   300576282   401572917   500712326   601572919   700576285   800972118   900220121  1000000000 
 83:          0   100486057   200398201   301272516   400644304   501572918   600644305   701272518   800398203   900486059  1000000000 
 84:          0   100199100   200879286   300521252   401422717   500644304   601422718   700521254   800879288   900199101  1000000000 
 85:          0   100439643   200360176   301151001   400582778   501422717   600582779   701151003   800360177   900439644  1000000000 
 86:          0   100180088   200795322   300471477   401286859   500582778   601286860   700471478   800795323   900180088  1000000000 
 87:          0   100397661   200325782   301041090   400527127   501286859   600527128   701041091   800325783   900397661  1000000000 
 88:          0   100162891   200719375   300426454   401163974   500527127   601163975   700426455   800719376   900162891  1000000000 
 89:          0   100359687   200294672   300941674   400476790   501163974   600476791   700941675   800294673   900359688  1000000000 
 90:          0   100147336   200650680   300385731   401052824   500476790   601052824   700385732   800650681   900147336  1000000000 
 91:          0   100325340   200266533   300851752   400431260   501052824   600431261   700851752   800266534   900325340  1000000000 
 92:          0   100133266   200588546   300348896   400952288   500431260   600952288   700348897   800588546   900133267  1000000000 
 93:          0   100294273   200241081   300770417   400390078   500952288   600390078   700770417   800241082   900294273  1000000000 
 94:          0   100120540   200532345   300315579   400861352   500390078   600861352   700315580   800532345   900120541  1000000000 
 95:          0   100266172   200218059   300696848   400352828   500861352   600352829   700696848   800218060   900266172  1000000000 
 96:          0   100109029   200481510   300285443   400779100   500352828   600779100   700285444   800481510   900109030  1000000000 
 97:          0   100240755   200197236   300630305   400319135   500779100   600319136   700630305   800197237   900240755  1000000000 
 98:          0   100098618   200435530   300258185   400704702   500319135   600704702   700258186   800435530   900098618  1000000000 
 99:          0   100217765   200178401   300570116   400288660   500704702   600288660   700570116   800178402   900217765  1000000000 
100:          0   100089200   200393940   300233530   400637409   500288660   600637409   700233531   800393940   900089201  1000000000 
101:          0   100196970   200161365   300515674   400261095   500637409   600261095   700515674   800161366   900196970  1000000000 
102:          0   100080682   200356322   300211230   400576541   500261095   600576541   700211230   800356322   900080683  1000000000 
103:          0   100178161   200145956   300466431   400236162   500576541   600236162   700466431   800145956   900178161  1000000000 
104:          0   100072978   200322296   300191059   400521486   500236162   600521486   700191059   800322296   900072978  1000000000 
105:          0   100161148   200132018   300421891   400213610   500521486   600213610   700421891   800132018   900161148  1000000000 
106:          0   100066009   200291519   300172814   400471688   500213610   600471688   700172814   800291519   900066009  1000000000 
107:          0   100145759   200119411   300381603   400193212   500471688   600193212   700381603   800119411   900145759  1000000000 
108:          0   100059705   200263681   300156311   400426645   500193212   600426645   700156311   800263681   900059705  1000000000 
109:          0   100131840   200108008   300345163   400174761   500426645   600174761   700345163   800108008   900131840  1000000000 
110:          0   100054004   200238501   300141384   400385904   500174761   600385904   700141384   800238501   900054004  1000000000 
111:          0   100119250   200097694   300312202   400158072   500385904   600158072   700312202   800097694   900119250  1000000000 
112:          0   100048847   200215726   300127883   400349053   500158072   600349053   700127883   800215726   900048847  1000000000 
113:          0   100107863   200088365   300282389   400142977   500349053   600142977   700282389   800088365   900107863  1000000000 
114:          0   100044182   200195126   300115671   400315721   500142977   600315721   700115671   800195126   900044182  1000000000 
115:          0   100097563   200079926   300255423   400129324   500315721   600129324   700255423   800079926   900097563  1000000000 
116:          0   100039963   200176493   300104625   400285572   500129324   600285572   700104625   800176493   900039963  1000000000 
117:          0   100088246   200072294   300231032   400116974   500285572   600116974   700231032   800072294   900088246  1000000000 
118:          0   100036147   200159639   300094634   400258302   500116974   600258302   700094634   800159639   900036147  1000000000 
119:          0   100079819   200065390   300208970   400105804   500258302   600105804   700208970   800065390   900079819  1000000000 
120:          0   100032695   200144394   300085597   400233636   500105804   600233636   700085597   800144394   900032695  1000000000 
121:          0   100072197   200059146   300189015   400095700   500233636   600095700   700189015   800059146   900072197  1000000000 
122:          0   100029573   200130606   300077423   400211325   500095700   600211325   700077423   800130606   900029573  1000000000 
123:          0   100065303   200053498   300170965   400086561   500211325   600086561   700170965   800053498   900065303  1000000000 
124:          0   100026749   200118134   300070029   400191145   500086561   600191145   700070029   800118134   900026749  1000000000 
125:          0   100059067   200048389   300154639   400078295   500191145   600078295   700154639   800048389   900059067  1000000000 
126:          0   100024194   200106853   300063342   400172892   500078295   600172892   700063342   800106853   900024194  1000000000 
127:          0   100053426   200043768   300139872   400070818   500172892   600070818   700139872   800043768   900053426  1000000000 
128:          0   100021884   200096649   300057293   400156382   500070818   600156382   700057293   800096649   900021884  1000000000 
129:          0   100048324   200039588   300126515   400064055   500156382   600064055   700126515   800039588   900048324  1000000000 
130:          0   100019794   200087419   300051821   400141448   500064055   600141448   700051821   800087419   900019794  1000000000 
131:          0   100043709   200035807   300114433   400057938   500141448   600057938   700114433   800035807   900043709  1000000000 
132:          0   100017903   200079071   300046872   400127940   500057938   600127940   700046872   800079071   900017903  1000000000 
133:          0   100039535   200032387   300103505   400052405   500127940   600052405   700103505   800032387   900039535  1000000000 
134:          0   100016193   200071520   300042396   400115722   500052405   600115722   700042396   800071520   900016193  1000000000 
135:          0   100035760   200029294   300093621   400047400   500115722   600047400   700093621   800029294   900035760  1000000000 
136:          0   100014647   200064690   300038347   400104671   500047400   600104671   700038347   800064690   900014647  1000000000 
137:          0   100032345   200026497   300084680   400042873   500104671   600042873   700084680   800026497   900032345  1000000000 
138:          0   100013248   200058512   300034685   400094675   500042873   600094675   700034685   800058512   900013248  1000000000 
139:          0   100029256   200023966   300076593   400038779   500094675   600038779   700076593   800023966   900029256  1000000000 
140:          0   100011983   200052924   300031372   400085634   500038779   600085634   700031372   800052924   900011983  1000000000 
141:          0   100026462   200021677   300069279   400035075   500085634   600035075   700069279   800021677   900026462  1000000000 
142:          0   100010838   200047870   300028376   400077456   500035075   600077456   700028376   800047870   900010838  1000000000 
143:          0   100023935   200019607   300062663   400031725   500077456   600031725   700062663   800019607   900023935  1000000000 
144:          0   100009803   200043299   300025666   400070059   500031725   600070059   700025666   800043299   900009803  1000000000 
145:          0   100021649   200017734   300056679   400028695   500070059   600028695   700056679   800017734   900021649  1000000000 
146:          0   100008867   200039164   300023214   400063369   500028695   600063369   700023214   800039164   900008867  1000000000 
147:          0   100019582   200016040   300051266   400025954   500063369   600025954   700051266   800016040   900019582  1000000000 
148:          0   100008020   200035424   300020997   400057317   500025954   600057317   700020997   800035424   900008020  1000000000 
149:          0   100017712   200014508   300046370   400023475   500057317   600023475   700046370   800014508   900017712  1000000000 
150:          0   100007254   200032041   300018991   400051843   500023475   600051843   700018991   800032041   900007254  1000000000 
151:          0   100016020   200013122   300041942   400021233   500051843   600021233   700041942   800013122   900016020  1000000000 
152:          0   100006561   200028981   300017177   400046892   500021233   600046892   700017177   800028981   900006561  1000000000 
153:          0   100014490   200011869   300037936   400019205   500046892   600019205   700037936   800011869   900014490  1000000000 
154:          0   100005934   200026213   300015537   400042414   500019205   600042414   700015537   800026213   900005934  1000000000 
155:          0   100013106   200010735   300034313   400017371   500042414   600017371   700034313   800010735   900013106  1000000000 
156:          0   100005367   200023709   300014053   400038363   500017371   600038363   700014053   800023709   900005367  1000000000 
157:          0   100011854   200009710   300031036   400015712   500038363   600015712   700031036   800009710   900011854  1000000000 
158:          0   100004855   200021445   300012711   400034699   500015712   600034699   700012711   800021445   900004855  1000000000 
159:          0   100010722   200008783   300028072   400014211   500034699   600014211   700028072   800008783   900010722  1000000000 
160:          0   100004391   200019397   300011497   400031385   500014211   600031385   700011497   800019397   900004391  1000000000 
161:          0   100009698   200007944   300025391   400012854   500031385   600012854   700025391   800007944   900009698  1000000000 
162:          0   100003972   200017544   300010399   400028388   500012854   600028388   700010399   800017544   900003972  1000000000 
163:          0   100008772   200007185   300022966   400011626   500028388   600011626   700022966   800007185   900008772  1000000000 
164:          0   100003592   200015869   300009405   400025677   500011626   600025677   700009405   800015869   900003592  1000000000 
165:          0   100007934   200006498   300020773   400010515   500025677   600010515   700020773   800006498   900007934  1000000000 
166:          0   100003249   200014353   300008506   400023225   500010515   600023225   700008506   800014353   900003249  1000000000 
167:          0   100007176   200005877   300018789   400009510   500023225   600009510   700018789   800005877   900007176  1000000000 
168:          0   100002938   200012982   300007693   400021007   500009510   600021007   700007693   800012982   900002938  1000000000 
169:          0   100006491   200005315   300016994   400008601   500021007   600008601   700016994   800005315   900006491  1000000000 
170:          0   100002657   200011742   300006958   400019000   500008601   600019000   700006958   800011742   900002657  1000000000 
171:          0   100005871   200004807   300015371   400007779   500019000   600007779   700015371   800004807   900005871  1000000000 
172:          0   100002403   200010621   300006293   400017185   500007779   600017185   700006293   800010621   900002403  1000000000 
173:          0   100005310   200004348   300013903   400007036   500017185   600007036   700013903   800004348   900005310  1000000000 
174:          0   100002174   200009606   300005692   400015544   500007036   600015544   700005692   800009606   900002174  1000000000 
175:          0   100004803   200003933   300012575   400006364   500015544   600006364   700012575   800003933   900004803  1000000000 
176:          0   100001966   200008689   300005148   400014059   500006364   600014059   700005148   800008689   900001966  1000000000 
177:          0   100004344   200003557   300011374   400005756   500014059   600005756   700011374   800003557   900004344  1000000000 
178:          0   100001778   200007859   300004656   400012716   500005756   600012716   700004656   800007859   900001778  1000000000 
179:          0   100003929   200003217   300010287   400005206   500012716   600005206   700010287   800003217   900003929  1000000000 
180:          0   100001608   200007108   300004211   400011501   500005206   600011501   700004211   800007108   900001608  1000000000 
181:          0   100003554   200002909   300009304   400004708   500011501   600004708   700009304   800002909   900003554  1000000000 
182:          0   100001454   200006429   300003808   400010402   500004708   600010402   700003808   800006429   900001454  1000000000 
183:          0   100003214   200002631   300008415   400004258   500010402   600004258   700008415   800002631   900003214  1000000000 
184:          0   100001315   200005814   300003444   400009408   500004258   600009408   700003444   800005814   900001315  1000000000 
185:          0   100002907   200002379   300007611   400003851   500009408   600003851   700007611   800002379   900002907  1000000000 
186:          0   100001189   200005259   300003115   400008509   500003851   600008509   700003115   800005259   900001189  1000000000 
187:          0   100002629   200002152   300006884   400003483   500008509   600003483   700006884   800002152   900002629  1000000000 
188:          0   100001076   200004756   300002817   400007696   500003483   600007696   700002817   800004756   900001076  1000000000 
189:          0   100002378   200001946   300006226   400003150   500007696   600003150   700006226   800001946   900002378  1000000000 
190:          0   100000973   200004302   300002548   400006961   500003150   600006961   700002548   800004302   900000973  1000000000 
191:          0   100002151   200001760   300005631   400002849   500006961   600002849   700005631   800001760   900002151  1000000000 
192:          0   100000880   200003891   300002304   400006296   500002849   600006296   700002304   800003891   900000880  1000000000 
193:          0   100001945   200001592   300005093   400002576   500006296   600002576   700005093   800001592   900001945  1000000000 
194:          0   100000796   200003519   300002084   400005694   500002576   600005694   700002084   800003519   900000796  1000000000 
195:          0   100001759   200001440   300004606   400002330   500005694   600002330   700004606   800001440   900001759  1000000000 
196:          0   100000720   200003182   300001885   400005150   500002330   600005150   700001885   800003182   900000720  1000000000 
197:          0   100001591   200001302   300004166   400002107   500005150   600002107   700004166   800001302   900001591  1000000000 
198:          0   100000651   200002878   300001704   400004658   500002107   600004658   700001704   800002878   900000651  1000000000 
199:          0   100001439   200001177   300003768   400001905   500004658   600001905   700003768   800001177   900001439  1000000000 
200:          0   100000588   200002603   300001541   400004213   500001905   600004213   700001541   800002603   900000588  1000000000 
201:          0   100001301   200001064   300003408   400001723   500004213   600001723   700003408   800001064   900001301  1000000000 
202:          0   100000532   200002354   300001393   400003810   500001723   600003810   700001393   800002354   900000532  1000000000 
203:          0   100001177   200000962   300003082   400001558   500003810   600001558   700003082   800000962   900001177  1000000000 
204:          0   100000481   200002129   300001260   400003446   500001558   600003446   700001260   800002129   900000481  1000000000 
205:          0   100001064   200000870   300002787   400001409   500003446   600001409   700002787   800000870   900001064  1000000000 
206:          0   100000435   200001925   300001139   400003116   500001409   600003116   700001139   800001925   900000435  1000000000 
207:          0   100000962   200000787   300002520   400001274   500003116   600001274   700002520   800000787   900000962  1000000000 
208:          0   100000393   200001741   300001030   400002818   500001274   600002818   700001030   800001741   900000393  1000000000 
209:          0   100000870   200000711   300002279   400001152   500002818   600001152   700002279   800000711   900000870  1000000000 
210:          0   100000355   200001574   300000931   400002548   500001152   600002548   700000931   800001574   900000355  1000000000 
211:          0   100000787   200000643   300002061   400001041   500002548   600001041   700002061   800000643   900000787  1000000000 
212:          0   100000321   200001424   300000842   400002304   500001041   600002304   700000842   800001424   900000321  1000000000 
213:          0   100000712   200000581   300001864   400000941   500002304   600000941   700001864   800000581   900000712  1000000000 
214:          0   100000290   200001288   300000761   400002084   500000941   600002084   700000761   800001288   900000290  1000000000 
215:          0   100000644   200000525   300001686   400000851   500002084   600000851   700001686   800000525   900000644  1000000000 
216:          0   100000262   200001165   300000688   400001885   500000851   600001885   700000688   800001165   900000262  1000000000 
217:          0   100000582   200000475   300001525   400000769   500001885   600000769   700001525   800000475   900000582  1000000000 
218:          0   100000237   200001053   300000622   400001705   500000769   600001705   700000622   800001053   900000237  1000000000 
219:          0   100000526   200000429   300001379   400000695   500001705   600000695   700001379   800000429   900000526  1000000000 
220:          0   100000214   200000952   300000562   400001542   500000695   600001542   700000562   800000952   900000214  1000000000 
221:          0   100000476   200000388   300001247   400000628   500001542   600000628   700001247   800000388   900000476  1000000000 
222:          0   100000194   200000861   300000508   400001394   500000628   600001394   700000508   800000861   900000194  1000000000 
223:          0   100000430   200000351   300001127   400000568   500001394   600000568   700001127   800000351   900000430  1000000000 
224:          0   100000175   200000778   300000459   400001260   500000568   600001260   700000459   800000778   900000175  1000000000 
225:          0   100000389   200000317   300001019   400000513   500001260   600000513   700001019   800000317   900000389  1000000000 
226:          0   100000158   200000704   300000415   400001139   500000513   600001139   700000415   800000704   900000158  1000000000 
227:          0   100000352   200000286   300000921   400000464   500001139   600000464   700000921   800000286   900000352  1000000000 
228:          0   100000143   200000636   300000375   400001030   500000464   600001030   700000375   800000636   900000143  1000000000 
229:          0   100000318   200000259   300000833   400000419   500001030   600000419   700000833   800000259   900000318  1000000000 
230:          0   100000129   200000575   300000339   400000931   500000419   600000931   700000339   800000575   900000129  1000000000 
231:          0   100000287   200000234   300000753   400000379   500000931   600000379   700000753   800000234   900000287  1000000000 
232:          0   100000117   200000520   300000306   400000842   500000379   600000842   700000306   800000520   900000117  1000000000 
233:          0   100000260   200000211   300000681   400000342   500000842   600000342   700000681   800000211   900000260  1000000000 
234:          0   100000105   200000470   300000276   400000761   500000342   600000761   700000276   800000470   900000105  1000000000 
235:          0   100000235   200000190   300000615   400000309   500000761   600000309   700000615   800000190   900000235  1000000000 
236:          0   100000095   200000425   300000249   400000688   500000309   600000688   700000249   800000425   900000095  1000000000 
237:          0   100000212   200000172   300000556   400000279   500000688   600000279   700000556   800000172   900000212  1000000000 
238:          0   100000086   200000384   300000225   400000622   500000279   600000622   700000225   800000384   900000086  1000000000 
239:          0   100000192   200000155   300000503   400000252   500000622   600000252   700000503   800000155   900000192  1000000000 
240:          0   100000077   200000347   300000203   400000562   500000252   600000562   700000203   800000347   900000077  1000000000 
241:          0   100000173   200000140   300000454   400000227   500000562   600000227   700000454   800000140   900000173  1000000000 
242:          0   100000070   200000313   300000183   400000508   500000227   600000508   700000183   800000313   900000070  1000000000 
243:          0   100000156   200000126   300000410   400000205   500000508   600000205   700000410   800000126   900000156  1000000000 
244:          0   100000063   200000283   300000165   400000459   500000205   600000459   700000165   800000283   900000063  1000000000 
245:          0   100000141   200000114   300000371   400000185   500000459   600000185   700000371   800000114   900000141  1000000000 
246:          0   100000057   200000256   300000149   400000415   500000185   600000415   700000149   800000256   900000057  1000000000 
247:          0   100000128   200000103   300000335   400000167   500000415   600000167   700000335   800000103   900000128  1000000000 
248:          0   100000051   200000231   300000135   400000375   500000167   600000375   700000135   800000231   900000051  1000000000 
249:          0   100000115   200000093   300000303   400000151   500000375   600000151   700000303   800000093   900000115  1000000000 
250:          0   100000046   200000209   300000122   400000339   500000151   600000339   700000122   800000209   900000046  1000000000 
251:          0   100000104   200000084   300000274   400000136   500000339   600000136   700000274   800000084   900000104  1000000000 
252:          0   100000042   200000189   300000110   400000306   500000136   600000306   700000110   800000189   900000042  1000000000 
253:          0   100000094   200000076   300000247   400000123   500000306   600000123   700000247   800000076   900000094  1000000000 
254:          0   100000038   200000170   300000099   400000276   500000123   600000276   700000099   800000170   900000038  1000000000 
255:          0   100000085   200000068   300000223   400000111   500000276   600000111   700000223   800000068   900000085  1000000000 

乱数の種は 1479797196 です.
 -1:          0   618053267    66141897   511590234   658015869   159170540   899881558   367462184   503812403   621039031  1000000000 
  0:          0    66141897   159170540   367462184   503812403   511590234   618053267   621039031   658015869   899881558  1000000000 
  1:          0    79585270   216802040   331491471   439526209   560932835   566314632   638034568   760460294   829007934  1000000000 
  2:          0   108401020   205538370   328164124   446212153   502920420   599483701   663387463   733521251   880230147  1000000000 
  3:          0   102769185   218282572   325875261   415542272   522847927   583153941   666502476   771808805   866760625  1000000000 
  4:          0   109141286   214322223   316912422   424361594   499348106   594675201   677481373   766631550   885904402  1000000000 
  5:          0   107161111   213026854   319341908   408130264   509518397   588414739   680653375   781692887   883315775  1000000000 
  6:          0   106513427   213251509   310578559   414430152   498272501   595085886   685053813   781984575   890846443  1000000000 
  7:          0   106625754   208545993   313840830   404425530   504758019   591663157   688535230   787950128   890992287  1000000000 
  8:          0   104272996   210233292   306485761   409299424   498044343   596646624   689806642   789763758   893975064  1000000000 
  9:          0   105116646   205379378   309766358   402265052   502973024   593925492   693205191   791890853   894881879  1000000000 
 10:          0   102689689   207441502   303822215   406369691   498095272   598089107   692908172   794043535   895945426  1000000000 
 11:          0   103720751   203255952   306905596   400958743   502229399   595501722   696066321   794426799   897021767  1000000000 
 12:          0   101627976   205313173   302107347   404567497   498230232   599147860   694964260   796544044   897213399  1000000000 
 13:          0   102656586   201867661   304940335   400168789   501857678   596597246   697845952   796088829   898272022  1000000000 
 14:          0   100933830   203798460   301018225   403399006   498383017   599851815   696343037   798058987   898044414  1000000000 
 15:          0   101899230   200976027   303598733   399700621   501625410   597363027   698955401   797193725   899029493  1000000000 
 16:          0   100488013   202748981   300338324   402612071   498531824   600290405   697278376   798992447   898596862  1000000000 
 17:          0   101374490   200413168   302680526   399435074   501451238   597905100   699641426   797937619   899496223  1000000000 
 18:          0   100206584   202027508   299924121   402065882   498670087   600546332   697921359   799568824   898968809  1000000000 
 19:          0   101013754   200065352   302046695   399297104   501306107   598295723   700057578   798445084   899784412  1000000000 
 20:          0   100032676   201530224   299681228   401676401   498796413   600681842   698370403   799920995   899222542  1000000000 
 21:          0   100765112   199856952   301603312   399238820   501179121   598583408   700301418   798796472   899960497  1000000000 
 22:          0    99928476   201184212   299547886   401391216   498911114   600740269   698689940   800130957   899398236  1000000000 
 23:          0   100592106   199738181   301287714   399229500   501065742   598800527   700435613   799044088   900065478  1000000000 
 24:          0    99869090   200939910   299483840   401176728   499015013   600750677   698922307   800250545   899522044  1000000000 
 25:          0   100469955   199676465   301058319   399249426   500963702   598968660   700500611   799222175   900125272  1000000000 
 26:          0    99838232   200764137   299462945   401011010   499109043   600732156   699095417   800312941   899611087  1000000000 
 27:          0   100382068   199650588   300887573   399285994   500871583   599102230   700522548   799353252   900156470  1000000000 
 28:          0    99825294   200634820   299468291   400879578   499194112   600697065   699227741   800339509   899676626  1000000000 
 29:          0   100317410   199646792   300757199   399331201   500788321   599210926   700518287   799452183   900169754  1000000000 
 30:          0    99823396   200537304   299488996   400772760   499271063   600653304   699331554   800344020   899726091  1000000000 
 31:          0   100268652   199656196   300655032   399380029   500713032   599301308   700498662   799528822   900172010  1000000000 
 32:          0    99828098   200461842   299518112   400684032   499340668   600605847   699415065   800335336   899764411  1000000000 
 33:          0   100230921   199673105   300572937   399429390   500644939   599377866   700470591   799589738   900167668  1000000000 
 34:          0    99836552   200401929   299551247   400608938   499403628   600557765   699483802   800319129   899794869  1000000000 
 35:          0   100200964   199693899   300505433   399477437   500583351   599443715   700438447   799639335   900159564  1000000000 
 36:          0    99846949   200353198   299585668   400544392   499460576   600510899   699541525   800299005   899819667  1000000000 
 37:          0   100176599   199716308   300448795   399523122   500527645   599501050   700404952   799680596   900149502  1000000000 
 38:          0    99858154   200312697   299619715   400488220   499512086   600466298   699590823   800277227   899840298  1000000000 
 39:          0   100156348   199738934   300400458   399565900   500477259   599551454   700371762   799715560   900138613  1000000000 
 40:          0    99869467   200278403   299652417   400438858   499558677   600424510   699633507   800255187   899857780  1000000000 
 41:          0   100139201   199760942   300358630   399605547   500431684   599596092   700339848   799745643   900127593  1000000000 
 42:          0    99880471   200248915   299683244   400395157   499600819   600385766   699670867   800233720   899872821  1000000000 
 43:          0   100124457   199781857   300322036   399642031   500390461   599635843   700309743   799771844   900116860  1000000000 
 44:          0    99890928   200223246   299711944   400356248   499638937   600350102   699703843   800213301   899885922  1000000000 
 45:          0   100111623   199801436   300289747   399675440   500353175   599671390   700281701   799794882   900106650  1000000000 
 46:          0    99900718   200200685   299738438   400321461   499673415   600317438   699733136   800194175   899897441  1000000000 
 47:          0   100100342   199819578   300261073   399705926   500319449   599703275   700255806   799815288   900097087  1000000000 
 48:          0    99909789   200180707   299762752   400290261   499704600   600287627   699759281   800176446   899907644  1000000000 
 49:          0   100090353   199836270   300235484   399733676   500288944   599731940   700232036   799833462   900088223  1000000000 
 50:          0    99918135   200162918   299784973   400262214   499732808   600260490   699782701   800160129   899916731  1000000000 
 51:          0   100081459   199851554   300212566   399758890   500261352   599757754   700210309   799849716   900080064  1000000000 
 52:          0    99925777   200147012   299805222   400236959   499758322   600235830   699803735   800145186   899924858  1000000000 
 53:          0   100073506   199865499   300191985   399781772   500236394   599781028   700190508   799864296   900072593  1000000000 
 54:          0    99932749   200132745   299823635   400214189   499781400   600213451   699822662   800131550   899932148  1000000000 
 55:          0   100066372   199878192   300173467   399802517   500213820   599802031   700172500   799877405   900065775  1000000000 
 56:          0    99939096   200119919   299840354   400193643   499802274   600193160   699839718   800119137   899938702  1000000000 
 57:          0   100059959   199889725   300156781   399821314   500193401   599820996   700156148   799889210   900059568  1000000000 
 58:          0    99944862   200108370   299855519   400175091   499821155   600174774   699855103   800107858   899944605  1000000000 
 59:          0   100054185   199900190   300141730   399838337   500174932   599838129   700141316   799899854   900053929  1000000000 
 60:          0    99950095   200097957   299869263   400158331   499838233   600158124   699868991   800097622   899949927  1000000000 
 61:          0   100048978   199909679   300128144   399853748   500158227   599853612   700127873   799909459   900048811  1000000000 
 62:          0    99954839   200088561   299881713   400143185   499853680   600143050   699881535   800088342   899954729  1000000000 
 63:          0   100044280   199918276   300115873   399867696   500143117   599867607   700115696   799918132   900044171  1000000000 
 64:          0    99959138   200080076   299892986   400129495   499867651   600129406   699892869   800079933   899959066  1000000000 
 65:          0   100040038   199926062   300104785   399880318   500129450   599880260   700104669   799925967   900039966  1000000000 
 66:          0    99963031   200072411   299903190   400117117   499880289   600117059   699903113   800072317   899962983  1000000000 
 67:          0   100036205   199933110   300094764   399891739   500117088   599891701   700094688   799933048   900036158  1000000000 
 68:          0    99966555   200065484   299912424   400105926   499891720   600105888   699912374   800065423   899966524  1000000000 
 69:          0   100032742   199939489   300085705   399902072   500105907   599902047   700085655   799939449   900032711  1000000000 
 70:          0    99969744   200059223   299920780   400095806   499902059   600095781   699920748   800059183   899969724  1000000000 
 71:          0   100029611   199945262   300077514   399911419   500095793   599911403   700077482   799945236   900029591  1000000000 
 72:          0    99972631   200053562   299928340   400086653   499911411   600086637   699928319   800053536   899972618  1000000000 
 73:          0   100026781   199950485   300070107   399919875   500086645   599919865   700070086   799950468   900026768  1000000000 
 74:          0    99975242   200048444   299935180   400078376   499919870   600078365   699935166   800048427   899975234  1000000000 
 75:          0   100024222   199955211   300063410   399927525   500078370   599927518   700063396   799955200   900024213  1000000000 
 76:          0    99977605   200043816   299941368   400070890   499927521   600070883   699941359   800043804   899977600  1000000000 
 77:          0   100021908   199959486   300057353   399934444   500070886   599934440   700057343   799959479   900021902  1000000000 
 78:          0    99979743   200039630   299946965   400064119   499934442   600064114   699946959   800039622   899979739  1000000000 
 79:          0   100019815   199963354   300051874   399940703   500064116   599940700   700051868   799963349   900019811  1000000000 
 80:          0    99981677   200035844   299952028   400057995   499940701   600057992   699952024   800035839   899981674  1000000000 
 81:          0   100017922   199966852   300046919   399946364   500057993   599946362   700046915   799966849   900017919  1000000000 
 82:          0    99983426   200032420   299956608   400052456   499946363   600052454   699956605   800032417   899983424  1000000000 
 83:          0   100016210   199970017   300042438   399951485   500052455   599951484   700042435   799970014   900016208  1000000000 
 84:          0    99985008   200029324   299960751   400047446   499951484   600047445   699960749   800029321   899985007  1000000000 
 85:          0   100014662   199972879   300038385   399956117   500047445   599956116   700038383   799972878   900014660  1000000000 
 86:          0    99986439   200026523   299964498   400042915   499956116   600042914   699964497   800026521   899986439  1000000000 
 87:          0   100013261   199975468   300034719   399960307   500042914   599960306   700034717   799975468   900013260  1000000000 
 88:          0    99987734   200023990   299967887   400038816   499960306   600038815   699967887   800023988   899987734  1000000000 
 89:          0   100011995   199977810   300031403   399964096   500038815   599964096   700031401   799977810   900011994  1000000000 
 90:          0    99988905   200021699   299970953   400035109   499964096   600035108   699970953   800021697   899988905  1000000000 
 91:          0   100010849   199979929   300028404   399967524   500035108   599967524   700028402   799979929   900010848  1000000000 
 92:          0    99989964   200019626   299973726   400031756   499967524   600031755   699973726   800019625   899989964  1000000000 
 93:          0   100009813   199981845   300025691   399970625   500031755   599970625   700025690   799981845   900009812  1000000000 
 94:          0    99990922   200017752   299976235   400028723   499970625   600028722   699976235   800017751   899990922  1000000000 
 95:          0   100008876   199983578   300023237   399973430   500028722   599973430   700023236   799983578   900008875  1000000000 
 96:          0    99991789   200016056   299978504   400025979   499973430   600025979   699978504   800016055   899991789  1000000000 
 97:          0   100008028   199985146   300021017   399975967   500025979   599975967   700021017   799985146   900008027  1000000000 
 98:          0    99992573   200014522   299980556   400023498   499975967   600023498   699980556   800014522   899992573  1000000000 
 99:          0   100007261   199986564   300019010   399978261   500023498   599978261   700019010   799986564   900007261  1000000000 
100:          0    99993282   200013135   299982412   400021254   499978261   600021254   699982412   800013135   899993282  1000000000 
101:          0   100006567   199987847   300017194   399980336   500021254   599980336   700017194   799987847   900006567  1000000000 
102:          0    99993923   200011880   299984091   400019224   499980336   600019224   699984091   800011880   899993923  1000000000 
103:          0   100005940   199989007   300015552   399982213   500019224   599982213   700015552   799989007   900005940  1000000000 
104:          0    99994503   200010746   299985610   400017388   499982213   600017388   699985610   800010746   899994503  1000000000 
105:          0   100005373   199990056   300014067   399983911   500017388   599983911   700014067   799990056   900005373  1000000000 
106:          0    99995028   200009720   299986983   400015727   499983911   600015727   699986983   800009720   899995028  1000000000 
107:          0   100004860   199991005   300012723   399985447   500015727   599985447   700012723   799991005   900004860  1000000000 
108:          0    99995502   200008791   299988226   400014225   499985447   600014225   699988226   800008791   899995502  1000000000 
109:          0   100004395   199991864   300011508   399986836   500014225   599986836   700011508   799991864   900004395  1000000000 
110:          0    99995932   200007951   299989350   400012866   499986836   600012866   699989350   800007951   899995932  1000000000 
111:          0   100003975   199992641   300010408   399988093   500012866   599988093   700010408   799992641   900003975  1000000000 
112:          0    99996320   200007191   299990367   400011637   499988093   600011637   699990367   800007191   899996320  1000000000 
113:          0   100003595   199993343   300009414   399989230   500011637   599989230   700009414   799993343   900003595  1000000000 
114:          0    99996671   200006504   299991286   400010525   499989230   600010525   699991286   800006504   899996671  1000000000 
115:          0   100003252   199993978   300008514   399990258   500010525   599990258   700008514   799993978   900003252  1000000000 
116:          0    99996989   200005883   299992118   400009519   499990258   600009519   699992118   800005883   899996989  1000000000 
117:          0   100002941   199994553   300007701   399991188   500009519   599991188   700007701   799994553   900002941  1000000000 
118:          0    99997276   200005321   299992870   400008610   499991188   600008610   699992870   800005321   899997276  1000000000 
119:          0   100002660   199995073   300006965   399992029   500008610   599992029   700006965   799995073   900002660  1000000000 
120:          0    99997536   200004812   299993551   400007787   499992029   600007787   699993551   800004812   899997536  1000000000 
121:          0   100002406   199995543   300006299   399992790   500007787   599992790   700006299   799995543   900002406  1000000000 
122:          0    99997771   200004352   299994166   400007043   499992790   600007043   699994166   800004352   899997771  1000000000 
123:          0   100002176   199995968   300005697   399993478   500007043   599993478   700005697   799995968   900002176  1000000000 
124:          0    99997984   200003936   299994723   400006370   499993478   600006370   699994723   800003936   899997984  1000000000 
125:          0   100001968   199996353   300005153   399994100   500006370   599994100   700005153   799996353   900001968  1000000000 
126:          0    99998176   200003560   299995226   400005761   499994100   600005761   699995226   800003560   899998176  1000000000 
127:          0   100001780   199996701   300004660   399994663   500005761   599994663   700004660   799996701   900001780  1000000000 
128:          0    99998350   200003220   299995682   400005210   499994663   600005210   699995682   800003220   899998350  1000000000 
129:          0   100001610   199997016   300004215   399995172   500005210   599995172   700004215   799997016   900001610  1000000000 
130:          0    99998508   200002912   299996094   400004712   499995172   600004712   699996094   800002912   899998508  1000000000 
131:          0   100001456   199997301   300003812   399995633   500004712   599995633   700003812   799997301   900001456  1000000000 
132:          0    99998650   200002634   299996467   400004262   499995633   600004262   699996467   800002634   899998650  1000000000 
133:          0   100001317   199997558   300003448   399996050   500004262   599996050   700003448   799997558   900001317  1000000000 
134:          0    99998779   200002382   299996804   400003855   499996050   600003855   699996804   800002382   899998779  1000000000 
135:          0   100001191   199997791   300003118   399996427   500003855   599996427   700003118   799997791   900001191  1000000000 
136:          0    99998895   200002154   299997109   400003486   499996427   600003486   699997109   800002154   899998895  1000000000 
137:          0   100001077   199998002   300002820   399996768   500003486   599996768   700002820   799998002   900001077  1000000000 
138:          0    99999001   200001948   299997385   400003153   499996768   600003153   699997385   800001948   899999001  1000000000 
139:          0   100000974   199998193   300002550   399997076   500003153   599997076   700002550   799998193   900000974  1000000000 
140:          0    99999096   200001762   299997634   400002851   499997076   600002851   699997634   800001762   899999096  1000000000 
141:          0   100000881   199998365   300002306   399997355   500002851   599997355   700002306   799998365   900000881  1000000000 
142:          0    99999182   200001593   299997860   400002578   499997355   600002578   699997860   800001593   899999182  1000000000 
143:          0   100000796   199998521   300002085   399997607   500002578   599997607   700002085   799998521   900000796  1000000000 
144:          0    99999260   200001440   299998064   400002331   499997607   600002331   699998064   800001440   899999260  1000000000 
145:          0   100000720   199998662   300001885   399997835   500002331   599997835   700001885   799998662   900000720  1000000000 
146:          0    99999331   200001302   299998248   400002108   499997835   600002108   699998248   800001302   899999331  1000000000 
147:          0   100000651   199998789   300001705   399998041   500002108   599998041   700001705   799998789   900000651  1000000000 
148:          0    99999394   200001178   299998415   400001906   499998041   600001906   699998415   800001178   899999394  1000000000 
149:          0   100000589   199998904   300001542   399998228   500001906   599998228   700001542   799998904   900000589  1000000000 
150:          0    99999452   200001065   299998566   400001724   499998228   600001724   699998566   800001065   899999452  1000000000 
151:          0   100000532   199999009   300001394   399998397   500001724   599998397   700001394   799999009   900000532  1000000000 
152:          0    99999504   200000963   299998703   400001559   499998397   600001559   699998703   800000963   899999504  1000000000 
153:          0   100000481   199999103   300001261   399998550   500001559   599998550   700001261   799999103   900000481  1000000000 
154:          0    99999551   200000871   299998826   400001410   499998550   600001410   699998826   800000871   899999551  1000000000 
155:          0   100000435   199999188   300001140   399998688   500001410   599998688   700001140   799999188   900000435  1000000000 
156:          0    99999594   200000787   299998938   400001275   499998688   600001275   699998938   800000787   899999594  1000000000 
157:          0   100000393   199999266   300001031   399998813   500001275   599998813   700001031   799999266   900000393  1000000000 
158:          0    99999633   200000712   299999039   400001153   499998813   600001153   699999039   800000712   899999633  1000000000 
159:          0   100000356   199999336   300000932   399998926   500001153   599998926   700000932   799999336   900000356  1000000000 
160:          0    99999668   200000644   299999131   400001042   499998926   600001042   699999131   800000644   899999668  1000000000 
161:          0   100000322   199999399   300000843   399999028   500001042   599999028   700000843   799999399   900000322  1000000000 
162:          0    99999699   200000582   299999213   400000942   499999028   600000942   699999213   800000582   899999699  1000000000 
163:          0   100000291   199999456   300000762   399999120   500000942   599999120   700000762   799999456   900000291  1000000000 
164:          0    99999728   200000526   299999288   400000852   499999120   600000852   699999288   800000526   899999728  1000000000 
165:          0   100000263   199999508   300000689   399999204   500000852   599999204   700000689   799999508   900000263  1000000000 
166:          0    99999754   200000476   299999356   400000770   499999204   600000770   699999356   800000476   899999754  1000000000 
167:          0   100000238   199999555   300000623   399999280   500000770   599999280   700000623   799999555   900000238  1000000000 
168:          0    99999777   200000430   299999417   400000696   499999280   600000696   699999417   800000430   899999777  1000000000 
169:          0   100000215   199999597   300000563   399999348   500000696   599999348   700000563   799999597   900000215  1000000000 
170:          0    99999798   200000389   299999472   400000629   499999348   600000629   699999472   800000389   899999798  1000000000 
171:          0   100000194   199999635   300000509   399999410   500000629   599999410   700000509   799999635   900000194  1000000000 
172:          0    99999817   200000351   299999522   400000569   499999410   600000569   699999522   800000351   899999817  1000000000 
173:          0   100000175   199999669   300000460   399999466   500000569   599999466   700000460   799999669   900000175  1000000000 
174:          0    99999834   200000317   299999567   400000514   499999466   600000514   699999567   800000317   899999834  1000000000 
175:          0   100000158   199999700   300000415   399999516   500000514   599999516   700000415   799999700   900000158  1000000000 
176:          0    99999850   200000286   299999608   400000464   499999516   600000464   699999608   800000286   899999850  1000000000 
177:          0   100000143   199999729   300000375   399999562   500000464   599999562   700000375   799999729   900000143  1000000000 
178:          0    99999864   200000259   299999645   400000419   499999562   600000419   699999645   800000259   899999864  1000000000 
179:          0   100000129   199999754   300000339   399999603   500000419   599999603   700000339   799999754   900000129  1000000000 
180:          0    99999877   200000234   299999678   400000379   499999603   600000379   699999678   800000234   899999877  1000000000 
181:          0   100000117   199999777   300000306   399999640   500000379   599999640   700000306   799999777   900000117  1000000000 
182:          0    99999888   200000211   299999708   400000342   499999640   600000342   699999708   800000211   899999888  1000000000 
183:          0   100000105   199999798   300000276   399999674   500000342   599999674   700000276   799999798   900000105  1000000000 
184:          0    99999899   200000190   299999736   400000309   499999674   600000309   699999736   800000190   899999899  1000000000 
185:          0   100000095   199999817   300000249   399999705   500000309   599999705   700000249   799999817   900000095  1000000000 
186:          0    99999908   200000172   299999761   400000279   499999705   600000279   699999761   800000172   899999908  1000000000 
187:          0   100000086   199999834   300000225   399999733   500000279   599999733   700000225   799999834   900000086  1000000000 
188:          0    99999917   200000155   299999783   400000252   499999733   600000252   699999783   800000155   899999917  1000000000 
189:          0   100000077   199999850   300000203   399999758   500000252   599999758   700000203   799999850   900000077  1000000000 
190:          0    99999925   200000140   299999804   400000227   499999758   600000227   699999804   800000140   899999925  1000000000 
191:          0   100000070   199999864   300000183   399999781   500000227   599999781   700000183   799999864   900000070  1000000000 
192:          0    99999932   200000126   299999822   400000205   499999781   600000205   699999822   800000126   899999932  1000000000 
193:          0   100000063   199999877   300000165   399999801   500000205   599999801   700000165   799999877   900000063  1000000000 
194:          0    99999938   200000114   299999839   400000185   499999801   600000185   699999839   800000114   899999938  1000000000 
195:          0   100000057   199999888   300000149   399999820   500000185   599999820   700000149   799999888   900000057  1000000000 
196:          0    99999944   200000103   299999854   400000167   499999820   600000167   699999854   800000103   899999944  1000000000 
197:          0   100000051   199999899   300000135   399999837   500000167   599999837   700000135   799999899   900000051  1000000000 
198:          0    99999949   200000093   299999868   400000151   499999837   600000151   699999868   800000093   899999949  1000000000 
199:          0   100000046   199999908   300000122   399999852   500000151   599999852   700000122   799999908   900000046  1000000000 
200:          0    99999954   200000084   299999880   400000136   499999852   600000136   699999880   800000084   899999954  1000000000 
201:          0   100000042   199999917   300000110   399999866   500000136   599999866   700000110   799999917   900000042  1000000000 
202:          0    99999958   200000076   299999891   400000123   499999866   600000123   699999891   800000076   899999958  1000000000 
203:          0   100000038   199999924   300000099   399999878   500000123   599999878   700000099   799999924   900000038  1000000000 
204:          0    99999962   200000068   299999901   400000111   499999878   600000111   699999901   800000068   899999962  1000000000 
205:          0   100000034   199999931   300000089   399999889   500000111   599999889   700000089   799999931   900000034  1000000000 
206:          0    99999965   200000061   299999910   400000100   499999889   600000100   699999910   800000061   899999965  1000000000 
207:          0   100000030   199999937   300000080   399999899   500000100   599999899   700000080   799999937   900000030  1000000000 
208:          0    99999968   200000055   299999918   400000090   499999899   600000090   699999918   800000055   899999968  1000000000 
209:          0   100000027   199999943   300000072   399999908   500000090   599999908   700000072   799999943   900000027  1000000000 
210:          0    99999971   200000049   299999925   400000081   499999908   600000081   699999925   800000049   899999971  1000000000 
211:          0   100000024   199999948   300000065   399999916   500000081   599999916   700000065   799999948   900000024  1000000000 
212:          0    99999974   200000044   299999932   400000073   499999916   600000073   699999932   800000044   899999974  1000000000 
213:          0   100000022   199999953   300000058   399999924   500000073   599999924   700000058   799999953   900000022  1000000000 
214:          0    99999976   200000040   299999938   400000065   499999924   600000065   699999938   800000040   899999976  1000000000 
215:          0   100000020   199999957   300000052   399999931   500000065   599999931   700000052   799999957   900000020  1000000000 
216:          0    99999978   200000036   299999944   400000058   499999931   600000058   699999944   800000036   899999978  1000000000 
217:          0   100000018   199999961   300000047   399999937   500000058   599999937   700000047   799999961   900000018  1000000000 
218:          0    99999980   200000032   299999949   400000052   499999937   600000052   699999949   800000032   899999980  1000000000 
219:          0   100000016   199999964   300000042   399999943   500000052   599999943   700000042   799999964   900000016  1000000000 
220:          0    99999982   200000029   299999953   400000047   499999943   600000047   699999953   800000029   899999982  1000000000 
221:          0   100000014   199999967   300000038   399999948   500000047   599999948   700000038   799999967   900000014  1000000000 
222:          0    99999983   200000026   299999957   400000042   499999948   600000042   699999957   800000026   899999983  1000000000 
223:          0   100000013   199999970   300000034   399999952   500000042   599999952   700000034   799999970   900000013  1000000000 
224:          0    99999985   200000023   299999961   400000038   499999952   600000038   699999961   800000023   899999985  1000000000 
225:          0   100000011   199999973   300000030   399999956   500000038   599999956   700000030   799999973   900000011  1000000000 
226:          0    99999986   200000020   299999964   400000034   499999956   600000034   699999964   800000020   899999986  1000000000 
227:          0   100000010   199999975   300000027   399999960   500000034   599999960   700000027   799999975   900000010  1000000000 
228:          0    99999987   200000018   299999967   400000030   499999960   600000030   699999967   800000018   899999987  1000000000 
229:          0   100000009   199999977   300000024   399999963   500000030   599999963   700000024   799999977   900000009  1000000000 
230:          0    99999988   200000016   299999970   400000027   499999963   600000027   699999970   800000016   899999988  1000000000 
231:          0   100000008   199999979   300000021   399999966   500000027   599999966   700000021   799999979   900000008  1000000000 
232:          0    99999989   200000014   299999972   400000024   499999966   600000024   699999972   800000014   899999989  1000000000 
233:          0   100000007   199999980   300000019   399999969   500000024   599999969   700000019   799999980   900000007  1000000000 
234:          0    99999990   200000013   299999974   400000021   499999969   600000021   699999974   800000013   899999990  1000000000 
235:          0   100000006   199999982   300000017   399999971   500000021   599999971   700000017   799999982   900000006  1000000000 
236:          0    99999991   200000011   299999976   400000019   499999971   600000019   699999976   800000011   899999991  1000000000 
237:          0   100000005   199999983   300000015   399999973   500000019   599999973   700000015   799999983   900000005  1000000000 
238:          0    99999991   200000010   299999978   400000017   499999973   600000017   699999978   800000010   899999991  1000000000 
239:          0   100000005   199999984   300000013   399999975   500000017   599999975   700000013   799999984   900000005  1000000000 
240:          0    99999992   200000009   299999979   400000015   499999975   600000015   699999979   800000009   899999992  1000000000 
241:          0   100000004   199999985   300000012   399999977   500000015   599999977   700000012   799999985   900000004  1000000000 
242:          0    99999992   200000008   299999981   400000013   499999977   600000013   699999981   800000008   899999992  1000000000 
243:          0   100000004   199999986   300000010   399999979   500000013   599999979   700000010   799999986   900000004  1000000000 
244:          0    99999993   200000007   299999982   400000011   499999979   600000011   699999982   800000007   899999993  1000000000 
245:          0   100000003   199999987   300000009   399999980   500000011   599999980   700000009   799999987   900000003  1000000000 
246:          0    99999993   200000006   299999983   400000010   499999980   600000010   699999983   800000006   899999993  1000000000 
247:          0   100000003   199999988   300000008   399999981   500000010   599999981   700000008   799999988   900000003  1000000000 
248:          0    99999994   200000005   299999984   400000009   499999981   600000009   699999984   800000005   899999994  1000000000 
249:          0   100000002   199999989   300000007   399999982   500000009   599999982   700000007   799999989   900000002  1000000000 
250:          0    99999994   200000004   299999985   400000008   499999982   600000008   699999985   800000004   899999994  1000000000 
251:          0   100000002   199999989   300000006   399999983   500000008   599999983   700000006   799999989   900000002  1000000000 
252:          0    99999994   200000004   299999986   400000007   499999983   600000007   699999986   800000004   899999994  1000000000 
253:          0   100000002   199999990   300000005   399999984   500000007   599999984   700000005   799999990   900000002  1000000000 
254:          0    99999995   200000003   299999987   400000006   499999984   600000006   699999987   800000003   899999995  1000000000 
255:          0   100000001   199999991   300000004   399999985   500000006   599999985   700000004   799999991   900000001  1000000000 

乱数の種は 1479797281 です.
 -1:          0   543451154   236509245    78428752    41549669     7527927   343770509   852339698   675873825   637459646  1000000000 
  0:          0     7527927    41549669    78428752   236509245   343770509   543451154   637459646   675873825   852339698  1000000000 
  1:          0    20774834    42978339   139029457   211099630   389980199   490615077   609662489   744899672   837936912  1000000000 
  2:          0    21489169    79902145   127038984   264504828   350857353   499821344   617757374   723799700   872449836  1000000000 
  3:          0    39951072    74264076   172203486   238948168   382163086   484307363   611810522   745103605   861899850  1000000000 
  4:          0    37132038   106077279   156606122   277183286   361627765   496986804   614705484   736855186   872551802  1000000000 
  5:          0    53038639    96869080   191630282   259116943   387085045   488166624   616920995   743628643   868427593  1000000000 
  6:          0    48434540   122334460   177993011   289357663   373641783   502003020   615897633   742674294   871814321  1000000000 
  7:          0    61167230   113213775   205846061   275817397   395680341   494769708   622338657   743855977   871337147  1000000000 
  8:          0    56606887   133506645   194515586   300763201   385293552   509009499   619312842   746837902   871927988  1000000000 
  9:          0    66753322   125561236   217134923   289904569   404886350   502303197   627923700   745620415   873418951  1000000000 
 10:          0    62780618   141944122   207732902   311010636   396103883   516405025   623961806   750671325   872810207  1000000000 
 11:          0    70972061   135256760   226477379   301918392   413707830   510032844   633538175   748386006   875335662  1000000000 
 12:          0    67628380   148724720   218587576   320092604   405975618   523623002   629209425   754436918   874193003  1000000000 
 13:          0    74362360   143107978   234408662   312281597   421857803   517592521   639029960   751701214   877218459  1000000000 
 14:          0    71553989   154385511   227694787   328133232   414937059   530443881   634646867   758124209   875850607  1000000000 
 15:          0    77192755   149624388   241259371   321315923   429288556   524791963   644284045   755248737   879062104  1000000000 
 16:          0    74812194   159226063   235470155   335273963   423053943   536786300   640020350   761673074   877624368  1000000000 
 17:          0    79613031   155141174   247250013   329262049   436030131   531537146   649229687   758822359   880836537  1000000000 
 18:          0    77570587   163431522   242201611   341640072   430399597   542629909   645179752   765033112   879411179  1000000000 
 19:          0    81715761   159886099   252535797   336300604   442134990   537789674   653831510   762295465   882516556  1000000000 
 20:          0    79943049   167125779   248093351   347335393   437045139   547983250   650042569   768174033   881147732  1000000000 
 21:          0    83562889   164018200   257230586   342569245   447659321   543543854   658078641   765595150   884087016  1000000000 
 22:          0    82009100   170396737   253293722   352444953   443056549   552868981   654569502   771082828   882797575  1000000000 
 23:          0    85198368   167651411   261420845   348175135   452656967   548813025   661975904   768683538   885541414  1000000000 
 24:          0    83825705   173309606   257913273   357038906   448494080   557316435   658748281   773758659   884341769  1000000000 
 25:          0    86654803   170869489   265174256   353203676   457177670   553621180   665537547   771545025   886879329  1000000000 
 26:          0    85434744   175914529   262036582   361175963   453412428   561357608   662583102   776208438   885772512  1000000000 
 27:          0    87957264   173735663   268545246   357724505   461266785   557997765   668783023   774177807   888104219  1000000000 
 28:          0    86867831   178251255   265730084   364906015   457861135   565024904   666087786   778443621   887088903  1000000000 
 29:          0    89125627   176298957   271578635   361795609   464965459   561974460   671734262   776588344   889221810  1000000000 
 30:          0    88149478   180352131   269047283   368272047   461885034   568349860   669281402   780478036   888294172  1000000000 
 31:          0    90176065   178598380   274312089   365466158   468310953   565583218   674413948   778787787   890239018  1000000000 
 32:          0    89299190   182244077   272032269   371311521   465524688   571362450   672185502   782326483   889393893  1000000000 
 33:          0    91122038   180665729   276777799   368778478   471336985   568855095   676844466   780789697   891163241  1000000000 
 34:          0    90332864   183949918   274722103   374057392   468816786   574090725   674822396   784003853   890394848  1000000000 
 35:          0    91974959   182527483   279003655   371769444   474074058   571819591   679047289   782608622   892001926  1000000000 
 36:          0    91263741   185489307   277148463   376538856   471794517   576560673   677214106   785524607   891304311  1000000000 
 37:          0    92744653   184206102   281014081   374471490   476549764   574504311   681042640   784259208   892762303  1000000000 
 38:          0    92103051   186879367   279338796   378781922   474487900   578796202   679381759   786902471   892129604  1000000000 
 39:          0    93439683   185720923   282830644   376913348   478789062   576934829   682849336   785755681   893451235  1000000000 
 40:          0    92860461   188135163   281317135   380809853   476924088   580819199   681345255   788150285   892877840  1000000000 
 41:          0    94067581   187088798   284472508   379120611   480814526   579134671   684484742   787111547   894075142  1000000000 
 42:          0    93544399   189270044   283104704   382643517   479127641   582649634   683123109   789279942   893555773  1000000000 
 43:          0    94635022   188324551   285956780   381116172   482646575   581125375   685964788   788339441   894639971  1000000000 
 44:          0    94162275   190295901   284720361   384301677   481120773   584305681   684732408   790302379   894169720  1000000000 
 45:          0    95147950   189441318   287298789   382920567   484303679   582926590   687304030   789451064   895151189  1000000000 
 46:          0    94720659   191223369   286180942   385801234   482923578   585803854   686188827   791227609   894725532  1000000000 
 47:          0    95611684   190450800   288512301   384552260   485802544   584556202   688515731   790457179   895613804  1000000000 
 48:          0    95225400   192061992   287501530   387157422   484554231   587159137   687506690   792064767   895228589  1000000000 
 49:          0    96030996   191363465   289609707   386027880   487158279   586030460   689611952   791367639   896032383  1000000000 
 50:          0    95681732   192820351   288695672   388383993   486029170   588385115   688699049   792822167   895683819  1000000000 
 51:          0    96410175   192188702   290602172   387362421   488384554   587364109   690603641   792191434   896411083  1000000000 
 52:          0    96094351   193506173   289775561   389493363   487363265   589494097   689777771   793507362   896095717  1000000000 
 53:          0    96753086   192934956   291499768   388569413   489493730   588570518   691500729   792936744   896753681  1000000000 
 54:          0    96467478   194126427   290752184   390496749   488569965   590497229   690753631   794127205   896468372  1000000000 
 55:          0    97063213   193609831   292311588   389661074   490496989   589661798   692312217   793611001   897063602  1000000000 
 56:          0    96804915   194687400   291635452   391404288   489661436   591404603   691636399   794687909   896805500  1000000000 
 57:          0    97343700   194220183   293045844   390648444   491404445   590648917   693046256   794220949   897343954  1000000000 
 58:          0    97110091   195194772   292434313   392225144   490648680   592225350   692434933   795195105   897110474  1000000000 
 59:          0    97597386   194772202   293709958   391541496   492225247   591541806   693710227   794772703   897597552  1000000000 
 60:          0    97386101   195653672   293156849   392967602   491541651   592967737   693157254   795653889   897386351  1000000000 
 61:          0    97826836   195271475   294310637   392349250   492967669   592349452   694310813   795271802   897826944  1000000000 
 62:          0    97635737   196068736   293810362   393639153   492349351   593639241   693810627   796068878   897635901  1000000000 
 63:          0    98034368   195723049   294853944   393079856   493639197   593079989   694854059   795723264   898034439  1000000000 
 64:          0    97861524   196444156   294401452   394246570   493079922   594246628   694401626   796444249   897861632  1000000000 
 65:          0    98222078   196131488   295345363   393740687   494246599   593740774   695345438   796131629   898222124  1000000000 
 66:          0    98065744   196783720   294936087   394795981   493740730   594796018   694936201   796783781   898065814  1000000000 
 67:          0    98391860   196500915   295789850   394338408   494795999   594338465   695789899   796501007   898391890  1000000000 
 68:          0    98250457   197090855   295419661   395292924   494338436   595292949   695419736   797090894   898250503  1000000000 
 69:          0    98545427   196835059   296191889   394879048   495292936   594879086   696191921   796835119   898545447  1000000000 
 70:          0    98417529   197368658   295857053   395742412   494879067   595742428   695857102   797368684   898417559  1000000000 
 71:          0    98684329   197137291   296555535   395368060   495742420   595368084   696555556   797137330   898684342  1000000000 
 72:          0    98568645   197619932   296252675   396148977   495368072   596148988   696252707   797619949   898568665  1000000000 
 73:          0    98809966   197410660   296884454   395810373   496148982   595810389   696884468   797410686   898809974  1000000000 
 74:          0    98705330   197847210   296610516   396516718   495810381   596516725   696610537   797847221   898705343  1000000000 
 75:          0    98923605   197657923   297181964   396210448   496516721   596210459   697181973   797657940   898923610  1000000000 
 76:          0    98828961   198052784   296934185   396849342   496210453   596849347   696934199   798052791   898828970  1000000000 
 77:          0    99026392   197881573   297451063   396572319   496849344   596572326   697451069   797881584   899026395  1000000000 
 78:          0    98940786   198238727   297226946   397150203   496572322   597150206   697226955   798238732   898940792  1000000000 
 79:          0    99119363   198083866   297694465   396899634   497150204   596899638   697694469   798083873   899119366  1000000000 
 80:          0    99041933   198406914   297491750   397422334   496899636   597422336   697491755   798406917   899041936  1000000000 
 81:          0    99203457   198266841   297914624   397195693   497422335   597195695   697914626   798266845   899203458  1000000000 
 82:          0    99133420   198559040   297731267   397668479   497195694   597668480   697731270   798559042   899133422  1000000000 
 83:          0    99279520   198432343   298113759   397463480   497668479   597463482   698113761   798432346   899279521  1000000000 
 84:          0    99216171   198696639   297947911   397891119   497463481   597891120   697947914   798696641   899216173  1000000000 
 85:          0    99348319   198582041   298293879   397705696   497891119   597705697   698293880   798582043   899348320  1000000000 
 86:          0    99291020   198821099   298143868   398092499   497705696   598092499   698143870   798821100   899291021  1000000000 
 87:          0    99410549   198717444   298456799   397924782   498092499   597924783   698456799   798717445   899410550  1000000000 
 88:          0    99358722   198933674   298321113   398274649   497924782   598274649   698321114   798933674   899358722  1000000000 
 89:          0    99466837   198839917   298604161   398122947   498274649   598122948   698604161   798839918   899466837  1000000000 
 90:          0    99419958   199035499   298481432   398439405   498122947   598439405   698481433   799035499   899419959  1000000000 
 91:          0    99517749   198950695   298737452   398302189   498439405   598302190   698737452   798950696   899517749  1000000000 
 92:          0    99475347   199127600   298626442   398588428   498302189   598588428   698626443   799127600   899475348  1000000000 
 93:          0    99563800   199050894   298858014   398464315   498588428   598464316   698858014   799050895   899563800  1000000000 
 94:          0    99525447   199210907   298757604   398723221   498464315   598723221   698757605   799210907   899525447  1000000000 
 95:          0    99605453   199141525   298967064   398610959   498723221   598610960   698967064   799141526   899605453  1000000000 
 96:          0    99570762   199286258   298876242   398845142   498610959   598845142   698876243   799286258   899570763  1000000000 
 97:          0    99643129   199223502   299065700   398743600   498845142   598743601   699065700   799223503   899643129  1000000000 
 98:          0    99611751   199354414   298983551   398955421   498743600   598955421   698983552   799354414   899611751  1000000000 
 99:          0    99677207   199297651   299154917   398863575   498955421   598863576   699154917   799297651   899677207  1000000000 
100:          0    99648825   199416062   299080613   399055169   498863575   599055169   699080613   799416062   899648825  1000000000 
101:          0    99708031   199364719   299235615   398972094   499055169   598972094   699235615   799364719   899708031  1000000000 
102:          0    99682359   199471823   299168406   399145392   498972094   599145392   699168406   799471823   899682359  1000000000 
103:          0    99735911   199425382   299308607   399070250   499145392   599070250   699308607   799425382   899735911  1000000000 
104:          0    99712691   199522259   299247816   399226999   499070250   599226999   699247816   799522259   899712691  1000000000 
105:          0    99761129   199480253   299374629   399159033   499226999   599159033   699374629   799480253   899761129  1000000000 
106:          0    99740126   199567879   299319643   399300814   499159033   599300814   699319643   799567879   899740126  1000000000 
107:          0    99783939   199529884   299434346   399239338   499300814   599239338   699434346   799529884   899783939  1000000000 
108:          0    99764942   199609142   299384611   399367580   499239338   599367580   699384611   799609142   899764942  1000000000 
109:          0    99804571   199574776   299488361   399311974   499367580   599311974   699488361   799574776   899804571  1000000000 
110:          0    99787388   199646466   299443375   399427970   499311974   599427970   699443375   799646466   899787388  1000000000 
111:          0    99823233   199615381   299537218   399377674   499427970   599377674   699537218   799615381   899823233  1000000000 
112:          0    99807690   199680225   299496527   399482594   499377674   599482594   699496527   799680225   899807690  1000000000 
113:          0    99840112   199652108   299581409   399437100   499482594   599437100   699581409   799652108   899840112  1000000000 
114:          0    99826054   199710760   299544604   399532001   499437100   599532001   699544604   799710760   899826054  1000000000 
115:          0    99855380   199685329   299621380   399490852   499532001   599490852   699621380   799685329   899855380  1000000000 
116:          0    99842664   199738380   299588090   399576690   499490852   599576690   699588090   799738380   899842664  1000000000 
117:          0    99869190   199715377   299657535   399539471   499576690   599539471   699657535   799715377   899869190  1000000000 
118:          0    99857688   199763362   299627424   399617112   499539471   599617112   699627424   799763362   899857688  1000000000 
119:          0    99881681   199742556   299690237   399583447   499617112   599583447   699690237   799742556   899881681  1000000000 
120:          0    99871278   199785959   299663001   399653674   499583447   599653674   699663001   799785959   899871278  1000000000 
121:          0    99892979   199767139   299719816   399623224   499653674   599623224   699719816   799767139   899892979  1000000000 
122:          0    99883569   199806397   299695181   399686745   499623224   599686745   699695181   799806397   899883569  1000000000 
123:          0    99903198   199789375   299746571   399659202   499686745   599659202   699746571   799789375   899903198  1000000000 
124:          0    99894687   199824884   299724288   399716658   499659202   599716658   699724288   799824884   899894687  1000000000 
125:          0    99912442   199809487   299770771   399691745   499716658   599691745   699770771   799809487   899912442  1000000000 
126:          0    99904743   199841606   299750616   399743714   499691745   599743714   699750616   799841606   899904743  1000000000 
127:          0    99920803   199827679   299792660   399721180   499743714   599721180   699792660   799827679   899920803  1000000000 
128:          0    99913839   199856731   299774429   399768187   499721180   599768187   699774429   799856731   899913839  1000000000 
129:          0    99928365   199844134   299812459   399747804   499768187   599747804   699812459   799844134   899928365  1000000000 
130:          0    99922067   199870412   299795969   399790323   499747804   599790323   699795969   799870412   899922067  1000000000 
131:          0    99935206   199859018   299830367   399771886   499790323   599771886   699830367   799859018   899935206  1000000000 
132:          0    99929509   199882786   299815452   399810345   499771886   599810345   699815452   799882786   899929509  1000000000 
133:          0    99941393   199872480   299846565   399793669   499810345   599793669   699846565   799872480   899941393  1000000000 
134:          0    99936240   199893979   299833074   399828455   499793669   599828455   699833074   799893979   899936240  1000000000 
135:          0    99946989   199884657   299861217   399813371   499828455   599813371   699861217   799884657   899946989  1000000000 
136:          0    99942328   199904103   299849014   399844836   499813371   599844836   699849014   799904103   899942328  1000000000 
137:          0    99952051   199895671   299874469   399831192   499844836   599831192   699874469   799895671   899952051  1000000000 
138:          0    99947835   199913260   299863431   399859652   499831192   599859652   699863431   799913260   899947835  1000000000 
139:          0    99956630   199905633   299886456   399847311   499859652   599847311   699886456   799905633   899956630  1000000000 
140:          0    99952816   199921543   299876472   399873054   499847311   599873054   699876472   799921543   899952816  1000000000 
141:          0    99960771   199914644   299897298   399861891   499873054   599861891   699897298   799914644   899960771  1000000000 
142:          0    99957322   199929034   299888267   399885176   499861891   599885176   699888267   799929034   899957322  1000000000 
143:          0    99964517   199922794   299907105   399875079   499885176   599875079   699907105   799922794   899964517  1000000000 
144:          0    99961397   199935811   299898936   399896140   499875079   599896140   699898936   799935811   899961397  1000000000 
145:          0    99967905   199930166   299915975   399887007   499896140   599887007   699915975   799930166   899967905  1000000000 
146:          0    99965083   199941940   299908586   399906057   499887007   599906057   699908586   799941940   899965083  1000000000 
147:          0    99970970   199936834   299923998   399897796   499906057   599897796   699923998   799936834   899970970  1000000000 
148:          0    99968417   199947484   299917315   399915027   499897796   599915027   699917315   799947484   899968417  1000000000 
149:          0    99973742   199942866   299931255   399907555   499915027   599907555   699931255   799942866   899973742  1000000000 
150:          0    99971433   199952498   299925210   399923141   499907555   599923141   699925210   799952498   899971433  1000000000 
151:          0    99976249   199948321   299937819   399916382   499923141   599916382   699937819   799948321   899976249  1000000000 
152:          0    99974160   199957034   299932351   399930480   499916382   599930480   699932351   799957034   899974160  1000000000 
153:          0    99978517   199953255   299943757   399924366   499930480   599924366   699943757   799953255   899978517  1000000000 
154:          0    99976627   199961137   299938810   399937118   499924366   599937118   699938810   799961137   899976627  1000000000 
155:          0    99980568   199957718   299949127   399931588   499937118   599931588   699949127   799957718   899980568  1000000000 
156:          0    99978859   199964847   299944653   399943122   499931588   599943122   699944653   799964847   899978859  1000000000 
157:          0    99982423   199961756   299953984   399938120   499943122   599938120   699953984   799961756   899982423  1000000000 
158:          0    99980878   199968203   299949938   399948553   499938120   599948553   699949938   799968203   899980878  1000000000 
159:          0    99984101   199965408   299958378   399944029   499948553   599944029   699958378   799965408   899984101  1000000000 
160:          0    99982704   199971239   299954718   399953465   499944029   599953465   699954718   799971239   899982704  1000000000 
161:          0    99985619   199968711   299962352   399949373   499953465   599949373   699962352   799968711   899985619  1000000000 
162:          0    99984355   199973985   299959042   399957908   499949373   599957908   699959042   799973985   899984355  1000000000 
163:          0    99986992   199971698   299965946   399954207   499957908   599954207   699965946   799971698   899986992  1000000000 
164:          0    99985849   199976469   299962952   399961927   499954207   599961927   699962952   799976469   899985849  1000000000 
165:          0    99988234   199974400   299969198   399958579   499961927   599958579   699969198   799974400   899988234  1000000000 
166:          0    99987200   199978716   299966489   399965562   499958579   599965562   699966489   799978716   899987200  1000000000 
167:          0    99989358   199976844   299972139   399962534   499965562   599962534   699972139   799976844   899989358  1000000000 
168:          0    99988422   199980748   299969689   399968850   499962534   599968850   699969689   799980748   899988422  1000000000 
169:          0    99990374   199979055   299974799   399966111   499968850   599966111   699974799   799979055   899990374  1000000000 
170:          0    99989527   199982586   299972583   399971824   499966111   599971824   699972583   799982586   899989527  1000000000 
171:          0    99991293   199981055   299977205   399969347   499971824   599969347   699977205   799981055   899991293  1000000000 
172:          0    99990527   199984249   299975201   399974514   499969347   599974514   699975201   799984249   899990527  1000000000 
173:          0    99992124   199982864   299979381   399972274   499974514   599972274   699979381   799982864   899992124  1000000000 
174:          0    99991432   199985752   299977569   399976947   499972274   599976947   699977569   799985752   899991432  1000000000 
175:          0    99992876   199984500   299981349   399974921   499976947   599974921   699981349   799984500   899992876  1000000000 
176:          0    99992250   199987112   299979710   399979148   499974921   599979148   699979710   799987112   899992250  1000000000 
177:          0    99993556   199985980   299983130   399977315   499979148   599977315   699983130   799985980   899993556  1000000000 
178:          0    99992990   199988343   299981647   399981139   499977315   599981139   699981647   799988343   899992990  1000000000 
179:          0    99994171   199987318   299984741   399979481   499981139   599979481   699984741   799987318   899994171  1000000000 
180:          0    99993659   199989456   299983399   399982940   499979481   599982940   699983399   799989456   899993659  1000000000 
181:          0    99994728   199988529   299986198   399981440   499982940   599981440   699986198   799988529   899994728  1000000000 
182:          0    99994264   199990463   299984984   399984569   499981440   599984569   699984984   799990463   899994264  1000000000 
183:          0    99995231   199989624   299987516   399983212   499984569   599983212   699987516   799989624   899995231  1000000000 
184:          0    99994812   199991373   299986418   399986042   499983212   599986042   699986418   799991373   899994812  1000000000 
185:          0    99995686   199990615   299988707   399984815   499986042   599984815   699988707   799990615   899995686  1000000000 
186:          0    99995307   199992196   299987715   399987374   499984815   599987374   699987715   799992196   899995307  1000000000 
187:          0    99996098   199991511   299989785   399986265   499987374   599986265   699989785   799991511   899996098  1000000000 
188:          0    99995755   199992941   299988888   399988579   499986265   599988579   699988888   799992941   899995755  1000000000 
189:          0    99996470   199992321   299990760   399987576   499988579   599987576   699990760   799992321   899996470  1000000000 
190:          0    99996160   199993615   299989948   399989669   499987576   599989669   699989948   799993615   899996160  1000000000 
191:          0    99996807   199993054   299991642   399988762   499989669   599988762   699991642   799993054   899996807  1000000000 
192:          0    99996527   199994224   299990908   399990655   499988762   599990655   699990908   799994224   899996527  1000000000 
193:          0    99997112   199993717   299992439   399989835   499990655   599989835   699992439   799993717   899997112  1000000000 
194:          0    99996858   199994775   299991776   399991547   499989835   599991547   699991776   799994775   899996858  1000000000 
195:          0    99997387   199994317   299993161   399990805   499991547   599990805   699993161   799994317   899997387  1000000000 
196:          0    99997158   199995274   299992561   399992354   499990805   599992354   699992561   799995274   899997158  1000000000 
197:          0    99997637   199994859   299993814   399991683   499992354   599991683   699993814   799994859   899997637  1000000000 
198:          0    99997429   199995725   299993271   399993084   499991683   599993084   699993271   799995725   899997429  1000000000 
199:          0    99997862   199995350   299994404   399992477   499993084   599992477   699994404   799995350   899997862  1000000000 
200:          0    99997675   199996133   299993913   399993744   499992477   599993744   699993913   799996133   899997675  1000000000 
201:          0    99998066   199995794   299994938   399993195   499993744   599993195   699994938   799995794   899998066  1000000000 
202:          0    99997897   199996502   299994494   399994341   499993195   599994341   699994494   799996502   899997897  1000000000 
203:          0    99998251   199996195   299995421   399993844   499994341   599993844   699995421   799996195   899998251  1000000000 
204:          0    99998097   199996836   299995019   399994881   499993844   599994881   699995019   799996836   899998097  1000000000 
205:          0    99998418   199996558   299995858   399994431   499994881   599994431   699995858   799996558   899998418  1000000000 
206:          0    99998279   199997138   299995494   399995369   499994431   599995369   699995494   799997138   899998279  1000000000 
207:          0    99998569   199996886   299996253   399994962   499995369   599994962   699996253   799996886   899998569  1000000000 
208:          0    99998443   199997411   299995924   399995811   499994962   599995811   699995924   799997411   899998443  1000000000 
209:          0    99998705   199997183   299996611   399995443   499995811   599995443   699996611   799997183   899998705  1000000000 
210:          0    99998591   199997658   299996313   399996211   499995443   599996211   699996313   799997658   899998591  1000000000 
211:          0    99998829   199997452   299996934   399995878   499996211   599995878   699996934   799997452   899998829  1000000000 
212:          0    99998726   199997881   299996665   399996572   499995878   599996572   699996665   799997881   899998726  1000000000 
213:          0    99998940   199997695   299997226   399996271   499996572   599996271   699997226   799997695   899998940  1000000000 
214:          0    99998847   199998083   299996983   399996899   499996271   599996899   699996983   799998083   899998847  1000000000 
215:          0    99999041   199997915   299997491   399996627   499996899   599996627   699997491   799997915   899999041  1000000000 
216:          0    99998957   199998266   299997271   399997195   499996627   599997195   699997271   799998266   899998957  1000000000 
217:          0    99999133   199998114   299997730   399996949   499997195   599996949   699997730   799998114   899999133  1000000000 
218:          0    99999057   199998431   299997531   399997462   499996949   599997462   699997531   799998431   899999057  1000000000 
219:          0    99999215   199998294   299997946   399997240   499997462   599997240   699997946   799998294   899999215  1000000000 
220:          0    99999147   199998580   299997767   399997704   499997240   599997704   699997767   799998580   899999147  1000000000 
221:          0    99999290   199998457   299998142   399997503   499997704   599997503   699998142   799998457   899999290  1000000000 
222:          0    99999228   199998716   299997980   399997923   499997503   599997923   699997980   799998716   899999228  1000000000 
223:          0    99999358   199998604   299998319   399997741   499997923   599997741   699998319   799998604   899999358  1000000000 
224:          0    99999302   199998838   299998172   399998121   499997741   599998121   699998172   799998838   899999302  1000000000 
225:          0    99999419   199998737   299998479   399997956   499998121   599997956   699998479   799998737   899999419  1000000000 
226:          0    99999368   199998949   299998346   399998300   499997956   599998300   699998346   799998949   899999368  1000000000 
227:          0    99999474   199998857   299998624   399998151   499998300   599998151   699998624   799998857   899999474  1000000000 
228:          0    99999428   199999049   299998504   399998462   499998151   599998462   699998504   799999049   899999428  1000000000 
229:          0    99999524   199998966   299998755   399998327   499998462   599998327   699998755   799998966   899999524  1000000000 
230:          0    99999483   199999139   299998646   399998608   499998327   599998608   699998646   799999139   899999483  1000000000 
231:          0    99999569   199999064   299998873   399998486   499998608   599998486   699998873   799999064   899999569  1000000000 
232:          0    99999532   199999221   299998775   399998740   499998486   599998740   699998775   799999221   899999532  1000000000 
233:          0    99999610   199999153   299998980   399998630   499998740   599998630   699998980   799999153   899999610  1000000000 
234:          0    99999576   199999295   299998891   399998860   499998630   599998860   699998891   799999295   899999576  1000000000 
235:          0    99999647   199999233   299999077   399998760   499998860   599998760   699999077   799999233   899999647  1000000000 
236:          0    99999616   199999362   299998996   399998968   499998760   599998968   699998996   799999362   899999616  1000000000 
237:          0    99999681   199999306   299999165   399998878   499998968   599998878   699999165   799999306   899999681  1000000000 
238:          0    99999653   199999423   299999092   399999066   499998878   599999066   699999092   799999423   899999653  1000000000 
239:          0    99999711   199999372   299999244   399998985   499999066   599998985   699999244   799999372   899999711  1000000000 
240:          0    99999686   199999477   299999178   399999155   499998985   599999155   699999178   799999477   899999686  1000000000 
241:          0    99999738   199999432   299999316   399999081   499999155   599999081   699999316   799999432   899999738  1000000000 
242:          0    99999716   199999527   299999256   399999235   499999081   599999235   699999256   799999527   899999716  1000000000 
243:          0    99999763   199999486   299999381   399999168   499999235   599999168   699999381   799999486   899999763  1000000000 
244:          0    99999743   199999572   299999327   399999308   499999168   599999308   699999327   799999572   899999743  1000000000 
245:          0    99999786   199999535   299999440   399999247   499999308   599999247   699999440   799999535   899999786  1000000000 
246:          0    99999767   199999613   299999391   399999374   499999247   599999374   699999391   799999613   899999767  1000000000 
247:          0    99999806   199999579   299999493   399999319   499999374   599999319   699999493   799999579   899999806  1000000000 
248:          0    99999789   199999649   299999449   399999433   499999319   599999433   699999449   799999649   899999789  1000000000 
249:          0    99999824   199999619   299999541   399999384   499999433   599999384   699999541   799999619   899999824  1000000000 
250:          0    99999809   199999682   299999501   399999487   499999384   599999487   699999501   799999682   899999809  1000000000 
251:          0    99999841   199999655   299999584   399999442   499999487   599999442   699999584   799999655   899999841  1000000000 
252:          0    99999827   199999712   299999548   399999535   499999442   599999535   699999548   799999712   899999827  1000000000 
253:          0    99999856   199999687   299999623   399999495   499999535   599999495   699999623   799999687   899999856  1000000000 
254:          0    99999843   199999739   299999591   399999579   499999495   599999579   699999591   799999739   899999843  1000000000 
255:          0    99999869   199999717   299999659   399999543   499999579   599999543   699999659   799999717   899999869  1000000000 

2016-11-22 (2) 23:52:22 +0900

Cコンパイラに関する仮定

int 型が 32 ビットであること,RAND_MAX が 32 ビットであることを仮定しています。

2016-11-24 (4) 20:04:24 +0900

表示をグラフィック化してみた

プログラム。 int 型が 32 ビットであることを仮定している。 RAND_MAX は 15 ビットと仮定。

#include <stdio.h>
#include <stdlib.h> /* rand(), srand() */
#include <time.h>   /* time() */

#define N 10                    /* カップルの数 - 1 */
#define UNIT (1000*1000*100)    /* 距離の単位 */
#define TIMES 256               /* 何回くりかえすか */

void init(void);
void print(int n);
void print2(int n);
void swap(int i, int j);
void sort(void);

int a[N+1];     /* これで a[0] ... a[N] が使える */
int b[N+1];
int c[N+1];

int main() {
    int i, j;

    init();                                     /* 初期化 */
    print(-1);                                  /* 画面表示(ソート前)*/
    sort();
    print(0);
    for (i = 1; i < TIMES; i++) {
        for (j = 1; j < N; j++) {
           b[j] = (a[j-1] + a[j+1]) / 2;        /* 両側カップルの中点に移動 */
        }
        for (j = 1; j < N; j++) {
           a[j] = b[j];
        }
        print(i);
    }
}

void init(void) {   /* 初期化 */
    int i;

    {
        unsigned seed = (unsigned)time(NULL);       /* 現在時刻を取得して */
        printf("乱数の種は %u です.\n", seed);
        srand(seed);                                /* それを乱数の種に */
    }

    a[0] = 0;                                       /* 両端は固定 */
    a[N] = UNIT*N;

    for (i = 1; i < N; i++) {
        int tmp = rand() << 15;
        a[i] = (tmp | rand()) % (N*UNIT);
    }
}

void print(int n) {
    int i;

    printf("%3d:", n);
    for (i = 0; i <= N; i++) {
        c[i] = (a[i] + 5000000) / 10000000;     /* 四捨五入 */
    }
    for (i = 0; i <= (N*UNIT)/(1000*1000*10) ; i++) {
        print2(i);              /* i カラムめを印字 */
    }
    putchar('\n');
}

void print2(int n) {
    int i;

    for (i = 0; i <= N; i++) {
        if (n == c[i]) {        /* そこにカップルがいれば */
            putchar('#');       /* # を印字 */
            return;
        }
    }
    putchar(' ');               /* いなければスペースを印字 */
}

void swap(int i, int j) {
    int tmp = a[i];
    a[i] = a[j];
    a[j] = tmp;
}

/* a[1] から a[N-1] を小さい順に並べ直す。挿入ソート */
void sort(void) {
    int i, j;

    for (i = 2; i < N; i++) {
        for (j = i; j > 1 && a[j-1] > a[j]; j--) {
            swap(j-1, j);
        }
    }
}

出力結果。

乱数の種は 1481035103 です.
 -1:#   #       #                 #        #       #  #        #         #    #                         #
  0:#   #       #                 #        #       #  #        #         #    #                         #
  1:#     #          #       #             #    #        #      #     #                 #               #
  2:#       #       #           #      #          #     #       #           #          #                #
  3:#       #         #      #           #     #         #        #        #              #             #
  4:#        #      #          #      #          #       #        #           #           #             #
  5:#       #         #      #          #       #        #         #          #            #            #
  6:#        #       #         #      #          #       #          #          #           #            #
  7:#       #         #       #         #       #         #         #          #            #           #
  8:#        #       #         #       #         #        #          #          #           #           #
  9:#        #        #       #         #       #          #         #          #           #           #
 10:#        #       #         #       #          #        #          #          #          #           #
 11:#        #        #       #         #        #          #         #          #          #           #
 12:#        #       #         #        #         #        #          #          #          #           #
 13:#        #        #       #          #       #          #         #          #          #           #
 14:#        #        #        #        #         #         #          #         #           #          #
 15:#        #        #        #         #        #         #          #          #          #          #
 16:#        #        #        #        #          #        #          #          #          #          #
 17:#        #        #        #         #        #          #         #          #          #          #
 18:#        #        #         #        #         #         #         #          #          #          #
 19:#        #        #        #         #         #         #         #          #          #          #
 20:#        #        #         #        #         #         #          #         #          #          #
 21:#        #         #        #         #        #         #         #          #          #          #
 22:#        #        #         #        #          #        #          #         #          #          #
 23:#        #         #        #         #        #          #         #          #         #          #
 24:#        #        #         #         #         #        #          #         #          #          #
 25:#        #         #        #         #         #         #         #          #         #          #
 26:#        #         #        #         #         #         #         #          #         #          #
 27:#        #         #        #         #         #         #         #          #         #          #
 28:#        #         #         #        #         #         #         #          #         #          #
 29:#        #         #        #         #         #         #         #          #         #          #
 30:#        #         #         #        #         #         #          #         #         #          #
 31:#        #         #         #         #        #         #          #         #         #          #
 32:#         #        #         #        #         #         #          #         #          #         #
 33:#        #         #         #         #        #          #         #         #         #          #
 34:#         #        #         #        #          #        #          #         #          #         #
 35:#         #        #         #         #        #          #         #         #          #         #
 36:#         #        #         #         #         #         #         #         #          #         #
 37:#         #        #         #         #         #         #         #         #          #         #
 38:#         #        #         #         #         #         #         #         #          #         #
 39:#         #        #         #         #         #         #         #         #          #         #
 40:#         #        #         #         #         #         #         #         #          #         #
 41:#         #        #         #         #         #         #         #         #          #         #
 42:#         #        #         #         #         #         #         #         #          #         #
 43:#         #        #         #         #         #         #         #         #          #         #
 44:#         #        #         #         #         #         #         #         #          #         #
 45:#         #         #        #         #         #         #         #          #         #         #
 46:#         #        #         #         #         #         #         #         #          #         #
 47:#         #         #        #         #         #         #         #          #         #         #
 48:#         #         #        #         #         #         #         #          #         #         #
 49:#         #         #        #         #         #         #         #          #         #         #
 50:#         #         #         #        #         #         #          #         #         #         #
 51:#         #         #        #         #         #         #         #          #         #         #
 52:#         #         #         #        #         #         #          #         #         #         #
 53:#         #         #         #         #        #          #         #         #         #         #
 54:#         #         #         #        #          #        #          #         #         #         #
 55:#         #         #         #         #        #          #         #         #         #         #
 56:#         #         #         #        #          #        #          #         #         #         #
 57:#         #         #         #         #        #          #         #         #         #         #
 58:#         #         #         #         #         #         #         #         #         #         #
 59:#         #         #         #         #         #         #         #         #         #         #
 60:#         #         #         #         #         #         #         #         #         #         #
 61:#         #         #         #         #         #         #         #         #         #         #
 62:#         #         #         #         #         #         #         #         #         #         #
 63:#         #         #         #         #         #         #         #         #         #         #
 64:#         #         #         #         #         #         #         #         #         #         #
(中略)
255:#         #         #         #         #         #         #         #         #         #         #

※ -1 番めと 0 番めの表示は必ず同じになる。

2016-12-06 (2) 23:50:09 +0900


すのもの Sunomono