### 抽選プログラム ### drawlist.txt は抽選対象者(1回戦勝者)のリスト。 ### 抽選対象者の多い作品順(同数ならば作品名の五十音順)に並べる。 ### 作品内では名前の五十音順に並べる。 ### random1.txt, random2.txt は数字のリスト。 ### 0〜10000くらいの範囲で、念のため抽選対象者数×3くらい用意する。 ### 「失敗」が出たら、random1.txt の上5つを取り除いて再度実行する。 ### 同率通過の追加分はA2d, B2d, C2d, D2d, A3d, B3d, C3d, D3d の順で入れる。 ### ブロック分け このブロック内に同一作品は入らない $block = 1; $s1 = 'A'; for($i=0; $i<4; $i++) { for($j=1; $j<5; $j++) { if( $j == 3 ) { $block++; } $s2 = 'a'; for($k=0; $k<3; $k++) { $str = $s1 . $j . $s2; $box{$str} = $block; $s2++; } } $s1++; $block++; } ### 追加分 $box{"A2d"} = 1; ### シードの読み込み %name = ("A1a" => "翠星石@ローゼンメイデン トロイメント", "A4c" => "アオイ・セノー@舞-乙HiME", "B1a" => "アリス・キャロル@ARIAシリーズ", "B4c" => "水無灯里@ARIAシリーズ", "C1a" => "グレーテル@おとぎ銃士 赤ずきん", "C4c" => "藤岡ハルヒ@桜蘭高校ホスト部", "D1a" => "朝比奈みくる@涼宮ハルヒの憂鬱", "D4c" => "コトナ・エレガンス@ゾイドジェネシス" ); ### 抽選 open(DL, "drawlist.txt"); open(RL1, "random1.txt"); open(RL2, "random2.txt"); while(