• 締切済み

テニス大会のタイムテーブルのプログラミングについて

テニス大会の乱数表(プログラミング)作成をお手伝いいただけませんか? 大会開催に関して、下記の比較的、複雑な条件下で大会を運営しています。 そこでテニス大会の乱数表(プログラミング)作成していただける方を探しています。 対戦表(~班~ペア vs ~班~ペア)×(85~100試合) はこちらで作成いたします。 そこで、それらの試合を 以下の(1)~(17)の条件を満たしたうえで 試合投入できるようなスケジュール(順番と枠組みのみでOK) を組めるプログラムを探しております。こちらOSはウインドウズ7です。 ---------条件は以下です-------- (1)「3日」で完了する「ダブルス」のテニス大会 総人数は55~70名程のメンバーが、 あらかじめ「4つの班」 に分かれ、人数はほぼ均等に振り分けられている。 ここでは(o班、j班、n班、y班とする) (2)班内でペアを作り、他班のペアとダブルスの試合する。 一人あたりの試合数がおおよそ6試合前後になるように私が組んでいるが、 各人の試合数はその人によって異なる。 (大会の総試合数はおおよそ80~100試合ぐらい) レベル別に近い者同士がペアを組んで、他の班のおおよそ同レベルの相手と試合できるように事前に組んでいる。 なので、すべての対戦内容は(班内でのペアと、 その対戦相手の組み合わせ)は予め決まっているし、 各々の試合内容は大会内での他の試合の結果から変動することはない。 (3)大会プログラムは1日目、2日目、3日目ともに ・朝A (3試合) ・朝B (6~8試合) ・朝C (4試合) ・昼A (3試合) ・昼B (9~12試合) ・夜A (2試合) 以上のような予定で行うとする。 (4)コートについては、頃合いをみて運営スタッフが空いたコートに試合をコールする。 ゆえに最大のコート数や、コート番号はここでは無視する。 (5)3日目は、1、2日目のどちらよりも少ない試合数であるとする。 また、1日目と2日目の試合数の差は最大3つまでとする。 (6)1人が一日分として試合できる数は1~3試合である。 0試合と4試合以上は不可能とする。 (7)朝A,Bでの試合を禁止される人もいる。各人について入力欄を設け制約の変更がきくようにしたい (8)一日分で3試合行うことがが禁止される人もいる。各人について入力欄を設け制約の変更がきくようにしたい (9)個々人にについて 試合間隔は「自分の入っていない6試合」 を空けなければ次の試合に入ってはならない。 「6試合分の時間」ではなく「必ず6試合あける」こととする。 この条件(9)は日にちごとに有効だが、日は跨がない。 (10)「朝A、昼A、夜A」 の(2試合または3試合)は、条件(9)の試合間隔を計算する際には、 まとめて1試合分としてでカウントする 例えば、、、 ・(朝A-1~朝A-3)のいずれかの試合に出場した選手は6試合の間隔をあけるため、 (朝B‐1 ~ 朝B-6)には出場できない。 ・朝C-4に出場した選手は6試合の間隔をあけるため、 (昼A-1~昼A-3、昼B-1~昼B-5)には出場できない。 (11)夜Aで対戦を行うペアとその対戦相手ペアは初めから決まっていて固定である。 配置・内容は変動しない試合だが、試合出場者はその他の条件の対象としてカウントされる試合である。 (12)ある試合が「その試合の参加者(4名のうちの誰か1人、もしくは2~4人で複数の可能性もある)にとっての、 その大会内での最後の試合」となるように設定しなければならないことがある。 例えば、一人あたり6試合行う人がいたとしたら、その人にとって必ず6番目に持ってこなければならない試合 が存在する可能性がある。 (13)(n班のペア vs y班のペア)による対戦が3つ以上連続してはならない。 またこれは、(n班,o班,y班,j班) のすべての班同士についても同様とする。 ただし夜Aの試合については考慮しない (14)n班全体で見たときに、 y班のペアとの対戦が一日分の試合の半分以上を占めてはならない 。 またこれは、(n班,o班,y班,j班) のすべての班同士についても同様とする。 (15)もし3日間の大会ではなく、 2日間の大会だと総試合数は60試合程度になる。 その場合、2日目の試合数が1日目より多くなってはいけない。 (16)大会が2日間のときでも、(1)~(17)を満たすスケジュールを出力できるプログラミングの仕様だと望ましい。 3日間用と2日間用が別々になっても大丈夫です。 (17)出力される3日間のスケジュールは以上の条件を満たす、ランダムに1パターンないしは、全パターンの出力が望ましい。 -------------条件は以上ですーーーーーーーーーーーーーー 8月31日の大会に間に合わせたいと考えています。 が、難しい場合については (12)(13)(14)(15)の条件については, 手作業で満たしているかどうか確認を行うので省いても大丈夫です。

みんなの回答

  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

補足欄かお礼欄に差し支えない程度のデータを書き込んでもらえないでしょうか? テスト用に使います。 エクセルの画面で範囲を指定して、そのまま貼付ければテキスト形式で書き込めるはずです。 あるいは、適当なテキスト形式(CSV形式でもタブ区切りでも何でも構いません)で出力して貼付けても構いません。 追加の(12)は考えないといけないのと、チームが固定ではないので個人単位で管理する(こちらは簡単)の変更が必要ですが、 それ以外は問題なく動いております。 こちらで変更した事項は、 それぞれの日の試合数は自動ではなく、予め決めておく必要がある。 午後の試合の始めから8試合は、午前の試合から8ゲームあけることにしています(ゲーム数は変更可) それと出力されるスケジュールは1つだけです。他の候補を出す場合は条件を微妙に変えれば出てきます(操作は簡単) となっています。多分問題はないと思います。 やってみて感じたのですが、これを手でできていたのでしょうか??すごい根気がいりそうです。

peipeipeipei
質問者

お礼

もう少しわかりやすく区切っておきますね。 以下「参加者名簿のファイル」 左から 個人名/所属班/禁止事項/最終試合の試合番号 N1/n/3/1 N2/n/1/1 N3/n/1/0 N4/n/3/0 N5/n/3/0 N6/n/0/0 N7/n/0/0 N8/n/0/0 N9/n/0/0 N10/n/0/11 N11/n/0/11 N12/n/0/0 N13/n/0/0 N14/n/0/0 N15/n/0/0 O1/o/3/1 O2/o/1/1 O3/o/1/0 O4/o/3/0 O5/o/0/0 O6/o/2/0 O7/o/3/52 O8/o/0/52 O9/o/0/0 O10/o/0/11 O11/o/0/11 O12/o/1/0 O13/o/0/0 O14/o/0/0 O15/o/0/0 J1/j/3/0 J2/j/3/0 J3/j/3/79 J4/j/1/0 J5/j/0/79 J6/j/0/52 J7/j/0/0 J8/j/0/52 J9/j/0/0 J10/j/0/0 J11/j/1/0 J12/j/0/87 J13/j/0/87 J14/j/0/0 Y1/y/3/0 Y2/y/3/79 Y3/y/1/0 Y4/y/3/0 Y5/y/0/79 Y6/y/0/0 Y7/y/0/0 Y8/y/1/0 Y9/y/0/0 Y10/y/0/0 Y11/y/0/0 Y12/y/0/87 Y13/y/0/87 Y14/y/0/0 次に、対戦組み合わせのエクセルです 左から 試合番号/出場者1/出場者2/出場者3/出場者4/出場者1と2の所属/出場者3、4の所属 /夜Aの有無/最終試合か/誰にとっての最終試合か 1/N1/N2/O1/O2/n/o/3/1/N1,N2,O1,O2 2/N1/N3/O1/O3/n/o/0/0 3/N2/N4/O2/O4/n/o/0/0 4/N3/N5/O3/O5/n/o/0/0 5/N4/N5/O4/O5/n/o/0/0 6/N6/N7/O6/O7/n/o/0/0 7/N6/N8/O6/O8/n/o/0/0 8/N7/N8/O7/O8/n/o/0/0 9/N9/N10/O9/O10/n/o/0/0 10/N9/N11/O9/O11/n/o/0/0 11/N10/N11/O10/O11/n/o/0/1/N10,N11,O10,O11 12/N12/N13/O12/O13/n/o/0/0 13/N12/N14/O12/O14/n/o/0/0 14/N13/N15/O13/O15/n/o/0/0 15/N14/N15/O14/O15/n/o/0/0 16/N1/N2/J1/J2/n/j/2/0 17/N1/N4/J1/J4/n/j/0/0 18/N2/N3/J2/J3/n/j/0/0 19/N3/N4/J3/J4/n/j/0/0 20/N5/N6/J5/J6/n/j/0/0 21/N5/N7/J5/J7/n/j/0/0 22/N6/N7/J6/J7/n/j/0/0 23/N8/N9/J8/J9/n/j/0/0 24/N8/N10/J8/J10/n/j/0/0 25/N9/N10/J9/J10/n/j/0/0 26/N11/N12/J10/J11/n/j/0/0 27/N11/N13/J11/J12/n/j/0/0 28/N12/N15/J11/J13/n/j/0/0 29/N13/N14/J12/J15/n/j/0/0 30/N14/N15/J13/J15/n/j/0/0 31/N1/N2/Y1/Y2/n/y/1/0 32/N1/N3/Y1/Y3/n/y/0/0 33/N2/N3/Y2/Y3/n/y/0/0 34/N4/N5/Y4/Y5/n/y/0/0 35/N4/N6/Y4/Y6/n/y/0/0 36/N5/N6/Y5/Y6/n/y/0/0 37/N7/N8/Y7/Y8/n/y/0/0 38/N7/N9/Y7/Y9/n/y/0/0 39/N8/N9/Y8/Y9/n/y/0/0 40/N10/N11/Y10/Y11/n/y/0/0 41/N10/N12/Y10/Y12/n/y/0/0 42/N11/N12/Y11/Y12/n/y/0/0 43/N13/N14/Y13/Y14/n/y/0/0 44/N13/N15/Y13/Y15/n/y/0/0 45/N14/N15/Y14/Y15/n/y/0/0 46/J1/J2/O1/O2/j/o/1/0 47/J1/J3/O1/O3/j/o/0/0 48/J2/J3/O2/O3/j/o/0/0 49/J4/J5/O4/O5/j/o/0/0 50/J4/J6/O4/O6/j/o/0/0 51/J5/J7/O5/O6/j/o/0/0 52/J6/J8/O7/O8/j/o/0/1/J6,J8,O7,O8 53/J7/J9/O7/O9/j/o/0/0 54/J8/J9/O8/O9/j/o/0/0 55/J10/J11/O10/O11/j/o/0/0 56/J10/J12/O10/O12/j/o/0/0 57/J11/J15/O11/O12/j/o/0/0 58/J12/J13/O13/O14/j/o/0/0 59/J13/J15/O13/O15/j/o/0/0 60/J13/J15/O14/O15/j/o/0/0 61/Y1/Y2/O1/O2/y/o/2/0 62/Y1/Y4/O1/O4/y/o/0/0 63/Y2/Y3/O2/O3/y/o/0/0 64/Y3/Y4/O3/O4/y/o/0/0 65/Y5/Y6/O5/O6/y/o/0/0 66/Y5/Y7/O5/O7/y/o/0/0 67/Y6/Y7/O6/O7/y/o/0/0 68/Y8/Y9/O8/O9/y/o/0/0 69/Y8/Y10/O8/O10/y/o/0/0 70/Y9/Y10/O9/O10/y/o/0/0 71/Y11/Y12/O11/O12/y/o/0/0 72/Y11/Y13/O11/O13/y/o/0/0 73/Y12/Y15/O12/O15/y/o/0/0 74/Y13/Y14/O13/O14/y/o/0/0 75/Y14/Y15/O14/O15/y/o/0/0 76/J1/J2/Y1/Y2/j/y/0/0 77/J1/J3/Y1/Y3/j/y/0/0 78/J2/J4/Y3/Y4/j/y/0/0 79/J3/J5/Y2/Y5/j/y/3/1/J3,J5,Y2,Y5 80/J4/J5/Y4/Y5/j/y/0/0 81/J6/J7/Y6/Y7/j/y/0/0 82/J6/J8/Y6/Y8/j/y/0/0 83/J7/J8/Y7/Y8/j/y/0/0 84/J9/J10/Y9/Y10/j/y/0/0 85/J9/J10/Y9/Y11/j/y/0/0 86/J10/J11/Y10/Y11/j/y/0/0 87/J12/J13/Y12/Y13/j/y/0/1/J12,Y12,Y13 88/J12/J15/Y12/Y14/j/y/0/0 89/J13/J15/Y13/Y15/j/y/0/0 90/J12/J15/Y14/Y15/j/y/0/0

peipeipeipei
質問者

補足

できれば ファイルはこの2種類です。 1、参加者の名簿、とその各人の情報  2、試合の内容、と条件に関連した情報 ・・・・以下「参加者名簿」のファイルについて・・・・・ ●参加者の個人名は、「アルファベット+数字」によって1人1人を区別しています。 ●今回は4つの班を(n,o,y,j)の4つとし、各人所属の班を記載しています。 ●禁止事項について 1→ 朝A,Bの試合に出場禁止の人 2→ 一日分に3試合を禁止されている人 3→ 1と2を両方満たす人 0→ 1,2,3について特に指定の無い人 ●条件(12)についての項目 参加者各々にとって、最終試合を必ず指定する場合は、その「試合番号」を記載しました。 試合番号と、その内容については、対戦表のファイルに記載しています。 「0」と記入されているのは、条件(12)について特に指定の無い人です。 ・・・・以下「対戦組み合わせ」のファイルについて・・・・ ●試合の通し番号について 計画している試合について、通し番号をつけました。この順番 に関して法則はありません。 ●出場者1.2.3.4、と、その所属班について そのダブルスにおける四名を記載しました。 試合内容とそのペアは(出場者1&2)vs(出場者3&4)となります。 ●夜Aの試合の有無について 0→指定なし 3→3日目の夜Aに固定 2→2日目の夜Aに固定 1→1日目の夜Aに固定 ●条件(13)について 名簿に記載した内容と対応するものなので不要かもしれませんが一応記載しました。 0→特に指定なし 1→出場者(4名)の誰かにとって、最終試合に指定されている ●誰にとっての最終試合か こちらも名簿ファイルに記載して いる内容と対応しています。 その試合で最終試合を迎える個人名をカンマで区切って記載しています。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 以下「参加者名簿のファイル」 左から 個人名/所属班/禁止事項/最終試合の試合番号 N1 n 3 1 N2 n 1 1 N3 n 1 0 N4 n 3 0 N5 n 3 0 N6 n 0 0 N7 n 0 0 N8 n 0 0 N9 n 0 0 N10 n 0 11 N11 n 0 11 N12 n 0 0 N13 n 0 0 N14 n 0 0 N15 n 0 0 O1 o 3 1 O2 o 1 1 O3 o 1 0 O4 o 3 0 O5 o 0 0 O6 o 2 0 O7 o 3 52 O8 o 0 52 O9 o 0 0 O10 o 0 11 O11 o 0 11 O12 o 1 0 O13 o 0 0 O14 o 0 0 O15 o 0 0 J1 j 3 0 J2 j 3 0 J3 j 3 79 J4 j 1 0 J5 j 0 79 J6 j 0 52 J7 j 0 0 J8 j 0 52 J9 j 0 0 J10 j 0 0 J11 j 1 0 J12 j 0 87 J13 j 0 87 J14 j 0 0 Y1 y 3 0 Y2 y 3 79 Y3 y 1 0 Y4 y 3 0 Y5 y 0 79 Y6 y 0 0 Y7 y 0 0 Y8 y 1 0 Y9 y 0 0 Y10 y 0 0 Y11 y 0 0 Y12 y 0 87 Y13 y 0 87 Y14 y 0 0 次に、対戦組み合わせのエクセルです 左から 試合番号/出場者1/出場者2/出場者3/出場者4/出場者1と2の所属/出場者3、4の所属/夜Aの有無/最終試合か/誰にとっての最終試合か 1 N1 N2 O1 O2 n o 3 1 N1,N2,O1,O2 2 N1 N3 O1 O3 n o 0 0 3 N2 N4 O2 O4 n o 0 0 4 N3 N5 O3 O5 n o 0 0 5 N4 N5 O4 O5 n o 0 0 6 N6 N7 O6 O7 n o 0 0 7 N6 N8 O6 O8 n o 0 0 8 N7 N8 O7 O8 n o 0 0 9 N9 N10 O9 O10 n o 0 0 10 N9 N11 O9 O11 n o 0 0 11 N10 N11 O10 O11 n o 0 1 N10,N11,O10,O11 12 N12 N13 O12 O13 n o 0 0 13 N12 N14 O12 O14 n o 0 0 14 N13 N15 O13 O15 n o 0 0 15 N14 N15 O14 O15 n o 0 0 16 N1 N2 J1 J2 n j 2 0 17 N1 N4 J1 J4 n j 0 0 18 N2 N3 J2 J3 n j 0 0 19 N3 N4 J3 J4 n j 0 0 20 N5 N6 J5 J6 n j 0 0 21 N5 N7 J5 J7 n j 0 0 22 N6 N7 J6 J7 n j 0 0 23 N8 N9 J8 J9 n j 0 0 24 N8 N10 J8 J10 n j 0 0 25 N9 N10 J9 J10 n j 0 0 26 N11 N12 J10 J11 n j 0 0 27 N11 N13 J11 J12 n j 0 0 28 N12 N15 J11 J13 n j 0 0 29 N13 N14 J12 J15 n j 0 0 30 N14 N15 J13 J15 n j 0 0 31 N1 N2 Y1 Y2 n y 1 0 32 N1 N3 Y1 Y3 n y 0 0 33 N2 N3 Y2 Y3 n y 0 0 34 N4 N5 Y4 Y5 n y 0 0 35 N4 N6 Y4 Y6 n y 0 0 36 N5 N6 Y5 Y6 n y 0 0 37 N7 N8 Y7 Y8 n y 0 0 38 N7 N9 Y7 Y9 n y 0 0 39 N8 N9 Y8 Y9 n y 0 0 40 N10 N11 Y10 Y11 n y 0 0 41 N10 N12 Y10 Y12 n y 0 0 42 N11 N12 Y11 Y12 n y 0 0 43 N13 N14 Y13 Y14 n y 0 0 44 N13 N15 Y13 Y15 n y 0 0 45 N14 N15 Y14 Y15 n y 0 0 46 J1 J2 O1 O2 j o 1 0 47 J1 J3 O1 O3 j o 0 0 48 J2 J3 O2 O3 j o 0 0 49 J4 J5 O4 O5 j o 0 0 50 J4 J6 O4 O6 j o 0 0 51 J5 J7 O5 O6 j o 0 0 52 J6 J8 O7 O8 j o 0 1 J6,J8,O7,O8 53 J7 J9 O7 O9 j o 0 0 54 J8 J9 O8 O9 j o 0 0 55 J10 J11 O10 O11 j o 0 0 56 J10 J12 O10 O12 j o 0 0 57 J11 J15 O11 O12 j o 0 0 58 J12 J13 O13 O14 j o 0 0 59 J13 J15 O13 O15 j o 0 0 60 J13 J15 O14 O15 j o 0 0 61 Y1 Y2 O1 O2 y o 2 0 62 Y1 Y4 O1 O4 y o 0 0 63 Y2 Y3 O2 O3 y o 0 0 64 Y3 Y4 O3 O4 y o 0 0 65 Y5 Y6 O5 O6 y o 0 0 66 Y5 Y7 O5 O7 y o 0 0 67 Y6 Y7 O6 O7 y o 0 0 68 Y8 Y9 O8 O9 y o 0 0 69 Y8 Y10 O8 O10 y o 0 0 70 Y9 Y10 O9 O10 y o 0 0 71 Y11 Y12 O11 O12 y o 0 0 72 Y11 Y13 O11 O13 y o 0 0 73 Y12 Y15 O12 O15 y o 0 0 74 Y13 Y14 O13 O14 y o 0 0 75 Y14 Y15 O14 O15 y o 0 0 76 J1 J2 Y1 Y2 j y 0 0 77 J1 J3 Y1 Y3 j y 0 0 78 J2 J4 Y3 Y4 j y 0 0 79 J3 J5 Y2 Y5 j y 3 1 J3,J5,Y2,Y5 80 J4 J5 Y4 Y5 j y 0 0 81 J6 J7 Y6 Y7 j y 0 0 82 J6 J8 Y6 Y8 j y 0 0 83 J7 J88 Y7 Y8 j y 0 0 84 J9 J10 Y9 Y10 j y 0 0 85 J9 J10 Y9 Y11 j y 0 0 86 J10 J11 Y10 Y11 j y 0 0 87 J12 J13 Y12 Y13 j y 0 1 J12,Y12,Y13 88 J12 J15 Y12 Y14 j y 0 0 89 J13 J15 Y13 Y15 j y 0 0 90 J12 J15 Y14 Y15 j y 0 0 以上です。

全文を見る
すると、全ての回答が全文表示されます。
  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

前の質問 http://oshiete1.nifty.com/qa8712468.html からの追加が(12)だけでしょうか? ちょっと疑問点ですが、 グループ内のペア(チーム)は試合期間中を通して変わらないのでしょうか? 例えばグループnのAさんは Cさんとしかペアを組まないのでしょうか? こちらだとチーム単位で考えれば良いのですが、 参加者に均等に試合数を割り当てるとすると、グループ内のペア(チーム)は変動する(AさんはCさんと組むこともあるし、Dさんとのこともある)のでしょうか? >8月31日の大会に間に合わせたいと考えています。 間に合うかは質問者さんのレスポンスが早く行われかによって決まります。 ただし一ヶ月もかかりませんので。 前回のものについてはほぼ完成しております。

peipeipeipei
質問者

お礼

ちなみに今まではすべて手作業でかなりの時間を要していました。 また、お作りりいただいているプログラムは「3日間の大会」「2日間の大会」 の両方に対応しているのでしょうか? なんにせよ非常にありがたいです(^^)

peipeipeipei
質問者

補足

そうですね、(12)が大きく変わったポイントになります。 (3)についても若干、数字を緩和させましたが、前回の数値のままでも構いません。 あとは、条件の言い回し等わかりやすくならないかと少し変えている程度ですね。 一応すべて見てもらえるとありがたいです。 疑問点についてですが >グループ内のペア(チーム)は試合期間中を通して変わらないのでしょうか? >例えばグループnのAさんは Cさんとしかペアを組まないのでしょうか? >こちらだとチーム単位で考えれば良いのですが、 >参加者に均等に試合数を割り当てるとすると、グループ内のペア(チーム)は変動する(AさんはCさんと組むこともあるし、Dさんとのこともある)のでしょうか? こちらについては、いいえ。です。 各人ごと複数種類のペアと組みます。また、複数回組むペアもいます。 ですので、均等に試合数を割り当てるということはしておりません。 参考程度にエクセルですが、対戦組み合わせ表(制約情報込)と、大会参加者の名簿(制約情報込)、を2つで用意しておりますので ご覧いただくことはできますか?(個人情報に触れる要素は無くしております) あくまで過去の例で、これからの大会とは無関係ですが。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • スポーツ大会のタイムテーブル作成について

    テニス大会のタイムテーブルに関する 乱数表(プログラミング)作成をお願いできないかと思い相談致しました。 テニス大会開催に関して、 下記の比較的、複雑な条件下で大会を運営しているゆえに、試合投入の順番(タイムテーブル)を組む仕事に困っています。何通りも組み合わせを試しては、詰んでやり直しの繰り返しで、毎度困らされています。 対戦をルールに合わせて順番に並べる、 簡素なプログラムで構わないので是非作っていただけるとありがたいです。 ---------条件-------------- (1)「3日」で完了する「ダブルス」のバドミントン大会 総人数は55~70名ほどが、「4つの班」 に分けられている。 各班およそ15名~17名程度でほぼ均等に振り分けらる。 ここでは(W 班、X班、Y班、Z班とする) (2)班内でペアを作り、他班のペアとダブルスの試合する。 一人あたりの試合数がおおよそ6試合前後になるように私が組んで いるため、試合数は個々にばらつきがある。(3日間の総試合数は75~100試合程度) レベル別に近い者同士がペアを組んで、 他の班のおおよそ同レベルの相手と試合できるようにしている。 ゆえに対戦内容は(班内でのペアと、 その対戦相手の組み合わせ)は予め決まっていて かつ、各々の試合内容は、 大会内での他の試合の結果に左右されて変動することはない。 (3)コートについては、 頃合いをみて運営スタッフが空いたコートに試合をコールする。 ゆえに最大のコート数やコート番号はここでは無視してよい。 (4)大会プログラムは1日目、2日目、3日目ともに以下のような予定で行う。 朝A (2~3試合) 朝B (7~8試合) 朝C (3~4試合) 昼A (2~3試合) 昼B (9~12試合) 夜A (2試合) (5)3日目の全体の試合数は、1・ 2日目のどちらよりも少ない試合数とする。 また、1日目と2日目の試合数の差は最大3試合までとする。 (6)、空いたコートから次の試合を順次入れてゆく。 朝B・昼Bの試合は試合を入れる順番を決めなければならない。 (例、朝A、朝B-1、朝B-2、朝B-3・・・・ という順で行ってゆく。昼Aから昼B-1への進行も同じ) ただし朝A、昼A、夜Aの試合は複数同時に開始させるため、 開始前はコートがすべて空くまで待機する。 (7)1人が一日分として試合できる数は1~3試合である。 0試合と4試合以上は不可。 (8)朝A,Bでの試合を禁止される人もいるため、 すべての人に確認をとる。 (9)一日分で3試合行うことがが禁止される人もいるため、 すべての人に確認を取る。 (10)同一人物における試合間隔は、「自分の入っていない6試合」 を空けなければ次の試合に入ってはならない。朝A、昼A、夜A、 の直前の待機時間は試合間隔にカウントしない。 (11)「朝A、昼A、夜A」 の試合は一斉にスタートするため、(10) の試合間隔を計算する際には、複数試合があっても、まとめて1試合分で考える。 例・・(10)と(11)より (朝A)で試合に入った人が次に試合に参加できるのは、(朝B-7)から。 (昼A)で試合に入った人が次に試合に参加できるのは、(昼B-7)から。 (朝Cの最後)で試合に入った人が次に試合に参加できるのは、(昼B-6)から。 (12)夜Aで対戦を行うペアとその対戦相手ペアの8名は( 夜Aは2試合あるので合計8名)は初めから決まっていて、 固定である。 順序配置・内容は変動しない。ただし、 個々人の制限はカウント対象である。 例えば、夜Aに出場する人が、(7)や(9) の制限に該当する可能性もあるし、(10)の6試合間隔など、 他の条件もその通りに守らねばならない。 (13)(X班のペア vs Y班のペア)による対戦が3つ以上連続してはならない。 これは、(W班,X班,Y班,Z班) のすべての班同士についても同様とする。 ただし夜Aの試合については考慮しない (14) X班全体で見たときに、 Y班のペアとの対戦が一日分の試合の半分以上を占めてはならない 。これは、(W班,X班,Y班,Z班) のすべての班同士についても同様とする。 (15)もし3日間の大会ではなく、 2日間の大会だと総試合数は60試合程度になる。 その場合、2日目の試合数が1日目より多くなってはいけない。 ----条件は以上---- ●まとめ● 「入力する情報」 ・班名(W、X、Y、Z班) ・出場者各々の名前(ペア2名 と、それに対応する、 対戦ペア2名)を(約80~100試合分) ・出場者各々の禁止事項の確認 「知りたい情報」 条件、ルールを満たしつつ、 ・1~3日目の、試合を入れる順番(3日間の大会のとき) を「すべてのパターン」ないしは「ランダムに1パターン」 での出力を求める。 ※人物名を省略して出力の例を書くと 【朝A】同時開始 X班(あ&い) vs Y班(さ&し) Y班(や&よ) vs Z班(な&に) W班(ぺ&び)vs Z班(わ&を) 【朝B-1】 W班(ぬ&ね)vs X班(う&え) 【朝B-2】 Z班(の&は) vs W班(ひ&ふ) という感じの 単純に投入の順序がわかればOKです ついでに 1~2日目の、試合を入れる順番(2日間の大会のとき) も求められる仕様もあれば、さらに助かります 長文失礼いたしました。 お返事いただけると幸いです。よろしくお願いいたします。

  • スポーツ大会のタイムテーブル作成について

    テニス大会のタイムテーブルに関する 乱数表(プログラミング)作成をお願いできないかと思い相談致しました。 テニス大会開催に関して、 下記の比較的、複雑な条件下で大会を運営しています。 そのため試合投入のスケジュール(順番)を組む仕事が手作業になり困っています。 簡素なプログラムで構わないのでなんでも是非お願いします。 ---------条件-------- (1)「3日」で完了する「ダブルス」のバドミントン大会 総人数は55~70名ほどが、あらかじめ「4つの班」 に分かれている。 各班およそ15名~17名程度でほぼ均等に振り分けられている。 ここでは(W 班、X班、Y班、Z班とする) (2)班内でペアを作り、他班のペアとダブルスの試合する。 行う試合の数はその人によって異なる。 一人あたりの試合数がおおよそ6試合前後になるように私が組んで いる。 (総試合数は75~100試合程度) レベル別に近い者同士がペアを組んで、 他の班のおおよそ同レベルの相手と試合できるように組んでいる。 つまり、対戦内容は(班内でのペアと、 その対戦相手の組み合わせ)は予め決まっていて かつ、各々の試合内容は、 大会内での他の試合の結果に左右されて変動することはない。 (3)コートについては、 頃合いをみて運営スタッフが空いたコートに試合をコールする。 ゆえに最大のコート数やコート番号はここでは無視してよい。 (4)大会プログラムは1日目、2日目、3日目ともに 朝A (2~3試合) 朝B (7~8試合) 朝C (3~4試合) 昼A (2~3試合) 昼B (9~12試合) 夜A (2試合) 以上のような予定で行う。 (5)3日目の全体の試合数は、1・ 2日目のどちらよりも少ない試合数とする。 また、1日目と2日目の試合数の差は最大3試合までとする。 (6)試合が終わり、空いたコートから次の試合を順次入れてゆく 朝B・昼Bの試合は、 それぞれについて試合を入れる順番を決めなければならない。 (例、朝A、朝B-1、朝B-2、朝B-3・・・・ という順に行う。昼も同様) ただし朝A、昼A、夜Aの試合は複数同時に開始させるため、 開始前はコートがすべて空くまで待機する。 (7)1人が一日分として試合できる数は1~3試合である。 0試合と4試合以上は不可。 (8)朝A,Bでの試合を禁止される人もいるため、 すべての人に確認をとる。 (9)一日分で3試合行うことがが禁止される人もいるため、 すべての人に確認を取る。 (10)同一人物における試合間隔は、「自分の入っていない6試合」 を空けなければ次の試合に入ってはならない。 また朝A、昼A、夜A、 の直前の待機時間は試合間隔にカウントしない。 (11)「朝A、昼A、夜A」 の試合は一斉にスタートするため、(10) の試合間隔を計算する際には、複数試合があっても、まとめて1試合分で考える。 例・・(10)と(11)より (朝A)で試合に入った人が次に試合に参加できるのは、(朝B-7)から。 (昼A)で試合に入った人が次に試合に参加できるのは、(昼B-7)から。 (朝Cの最後)で試合に入った人が次に試合に参加できるのは、(昼B-6)から。 (12)夜Aで対戦を行うペアとその対戦相手ペアの8名は( 夜Aは2試合あるので合計8名)は初めから決まっていて、 固定である。 配置・内容は変動しない。ただし、 個々人の制限はカウント対象である。 例えば、夜Aに出場する人が、(7)や(9) の制限に該当する可能性もあるし、(10)の6試合間隔など、 他の条件もその通りに守らねばならない。 (13)(X班のペア vs Y班のペア)による対戦が3つ以上連続してはならない。 またこれは、(W班,X班,Y班,Z班) のすべての班同士についても同様とする。 ただし夜Aの試合については考慮しない (14) X班全体で見たときに、 Y班のペアとの対戦が一日分の試合の半分以上を占めてはならない 。 またこれは、(W班,X班,Y班,Z班) のすべての班同士についても同様とする。 (15)もし3日間の大会ではなく、 2日間の大会だと総試合数は60試合程度になる。 その場合、2日目の試合数が1日目より多くなってはいけない。 ----条件は以上です---- ●まとめ● 「入力する情報」 ・班名(W、X、Y、Z班) ・出場者各々の名前(ペア2名 と、それに対応する、 対戦ペア2名)を(約80~100試合分) ・夜A以外の、順序固定試合の有無 ・出場者各々の禁止事項の確認 「知りたい情報」 条件、ルールを満たしつつ、 ・1~3日目の、試合を入れる順番(3日間の大会のとき) を「すべてのパターン」ないしは「ランダムに1パターン」 での出力を求める。 ※人物名を省略して例を書くと 【朝A】同時開始 X班(あ&い) vs Y班(さ&し) Y班(や&よ) vs Z班(な&に) W班(ぺ&び)vs Z班(わ&を) 【朝B-1】 W班(ぬ&ね)vs X班(う&え) 【朝B-2】 Z班(の&は) vs W班(ひ&ふ) ・ ・ という感じの 単純な投入の順番がわかればOKです。 ついでに 1~2日目の、試合を入れる順番(2日間の大会のとき) も求められる仕様もあれば、さらに助かります 長文失礼いたしました。 お返事いただけると幸いです。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • テニス大会の組合せの作り方・その2

    先程テニス大会の組合せの作り方を質問し、matumotokさんから条件が合わないとの答えを頂きました。有難うございます。そこで改めてお尋ねします。 次のような条件のテニス大会の組合せの作り方を教えてください。 1.参加者は、10名で、各自ダブルスを4試合します。 2.ペアは、その都度、異なる人と組みます。 3.対戦相手は、出来るだけ異なる組合せとして、同じ対戦相手は2回までとします。 以上のような条件で、組合せの作り方を教えてください。よろしくお願いします。

  • テニス大会の組合せの作り方その2

    先程、テニス大会の組合せの作り方を質問しました。 1.10人参加で各自4試合 2.試合はダブルスで、同じペアは組まない 3.相手も毎回違うペア 以上の条件でしたが、[matunatoko]さんから、13人以上が必要と教えていただきました。有難うございました。 そこで、再度質問させていただきます。 3の毎回違うペアとの組合せが無理ならば、出来るだけ違う相手と対戦するような組合せの作り方を教えてください。よろしくお願いします。

  • テニス大会の組合せの作り方

    仲間内のテニス大会の幹事をしています。 以下の条件の組合せの作り方を教えてください。 1.参加者は10名で、各自4試合します。 2.ペアはその都度変えて、同じ人とは2度は組みません。 3.相手もその都度変えて、同じ相手とは2度は対戦しません。 以上です。よろしくお願いします。

  • 中学ソフトテニス部 新人戦と一年生大会

    中学からソフトテニスを始めた中1男子(後衛)です。来週市の新人戦と一年生大会があり、選手が発表されました。僕たちペアは部活以外でも自主練習をしたり一年生大会に向けて頑張ってきたのですが残念ながら一年生大会には選ばれませんでした。中1ペアなのに先輩たちと同じ新人戦に出ることになりました。一年生大会に出られない一年は僕たちのペアだけです。練習もまじめにしているし校内試合でもちゃんと勝っていたのに一年生大会に出られないことがとてもショックです。入部したてのころ顧問の先生が「9月にある一年生大会には全員が出ます。」と言っていたのに。新人戦はどこの学校もほとんどが2年生みたいです。総体の時の先輩たちの試合を見る限りソフトテニスを始めて3か月の僕たちが太刀打ちできるとは思えません。でも僕のペアはとてもポジティブで「1年の中で一番強いから新人戦の方に選ばれたんだよ!」などと言っています。確かに僕のペアは1年の中では一番上手いと思うし、そう言われています。でも僕はそうではありません。僕は胃が痛くなるほど不安です。初めての公式戦(一年生大会)を楽しみにしていたのに…と愚痴になってしまいましたがここで質問です。一年生大会には出場できる枠が決まっているのですか?そして選ばれる基準は何でしょうか?(僕の学校の一年は14人(7ペア)でそのうち12人(6ペア)が一年生大会に出場します。 選ばれる基準については顧問によって違うと思いますが、直接顧問には聞きにくいので皆さんの学校はどんな感じなのか教えてください。

  • テニス大会ダブルスの乱数表の作成をお願いしたい

    テニス大会開催のため、プレーヤーの組み合わせに乱数表を使うことになり、過去の質問・回答を検索しテニス乱数表の作成法を2件見つけたのですが、1件は同じプレーヤーの組み合わせ(ペア)が複数組できてしまい、もう1件は一人当たりのゲーム数が同数にならない(一定の試合数で、ある人は2ゲーム、ある人は5ゲームなどバラつきが出る)ことがわかりました。 そこで以下の条件で乱数表の作成をお願いしたいのですが。 1.1日で完了するダブルスのテニス大会 2.参加者(プレーヤー)は、10-30人程度 3.コートは2面を並行使用の予定なので、一人が同時に2面に入らない 4.全員が一人あたり4ゲーム行う 5.全員が4ゲームともそれぞれ別の人とペアを組む(同じペアを複数回作らない) 6.対戦相手はそれ以前のゲームと同じ人でも構わない(5.があるので同じペアとの再戦はない) よろしくお願いします。

  • テニスのダブルス8人での対戦組合せ

    ダブルスのテニス乱数表をネットで入手したのですが、 組むペアについては【条件1】を満たしているのですが、 対戦相手については【条件2】を満たしているものが無く、 自分で試行錯誤して作成してもなかなか納得のいくものが出来ません。 【条件1】:自分以外の人と1回だけペアを組む 【条件2】:自分以外の人と必ず2回対戦する 1の人を軸に【条件1】及び【条件2】を満たす対戦表を作りましたが、 その後がなかなか難しくて完成には至りません。 合計試合数は14(7×8÷2÷2)になります。 12-34  13-78 23-15 14-67 24-?? 34-12 15-23 25-?? 35-?? 45-17 16-28 26-?? 36-?? 46-?? 56-18 17-45 27-?? 37-?? 47-?? 57-?? 67-14 18-56 28-16 38-?? 48-?? 58-?? 68-?? 78-13 このような対戦表を作成するのに お詳しい方のご教示を頂ければ幸いです。

  • テニスのさいたま市民大会(シングルス)について

    テニスのさいたま市民大会(シングルス)について 出場してみたいと思うのですが、男子A、男子B、男子Cとわかれていて それぞれに出場する方々のレベルがどの程度かいまいちわかりません。 私は経験も浅い上に大会も初めてなので当然男子Cなのはわかっていますが 実際のところ、A、B、Cの棲み分けはどんな感じなのでしょうか? 出場経験のある方がいましたら教えてください。(同規模であれば他の大会でもいいので) 私はスクールに通っているのでスクール生、コーチ等にたとえて頂けるとわかりやすいです。 よろしくお願いします。

  • テニス・・

    テニス・・ 私は半年ほど前から 数歳年下のテニススクールの同じクラスの女の子と草トーナメントや市民大会にでるようになりました。だいたい月に2回ほどは 一緒にでかけていたので、私も彼女も正規ペアのつもりでいました。 実は私は たまにいろんな人といろんな試合にエントリーしていたのです。(草トーに限る) それというのも 私は誘われたら断らない主義なので 私の得意のサイドに入らせてくれるペアの人であれば、日にちさえ合えばOKしていたんです。 で、市民大会に関しては必ずその正規ペアの子に頼んで 休みをとってもらって一緒にでてもらっていました。草トーナメントに関しても、平日のほうが休みをとれやすいらしいので、私が色々探して、よく一緒にでていたんですが、 先日、知り合いのペアが解消してしまい、市民大会の申し込みギリギリのところで私にでてもらえないかどうか打診されたのです。 私は最初、自分の得意なサイドに入れない条件なので、かなり渋っていたんですが、つきあいもあり、一度だけと思って、エントリーしたら かなりいいところまでいけたのです。 さて、問題はそれからです。 たしかにその大会で想像以上にいい結果がでたのはうれしいのですが、私はそれまでずっとその正規ペアの子と市民大会で結果を出すためにがんばってきたので、結果がでたからといって、その人とペアをこれからも組もうとは思っていないのです。 なにより、結果はでたけれど、私ががんばったというより、ペアの人が調子がよかっただけで。 私の得意サイドではないので、もしでるなら、今度は一つレベルが上の試合にエントリーしなくてはいけないのですが、私が活躍できるとは到底思えません。 ドロー運もかなりあった試合でしたので・・ その人は 前の人より 私の方が組みやすかったらしく(←単純に私が腰が低いからだとおもうのですが)よい成績をとれて、すごく喜んでくれたのですが、やっぱり今までのつきあいも大事だし、私が今までがんばってこれたのも、最終的には一番大事な大会では、その数歳年下の子といい結果を出したい、と思っていたからなんです。 なんだかんだと短い間にかなり試合に出ていて、下の級ではありますが、優勝経験も何回かありますし、今度こそ市民大会で結果を出そうとお互い思っていたところなんです。 (その問題の大会は、私が申し込み期限を勘違いしていたので、もう申し込めないと思って、次の試合に二人ででようと思っていたのです。急にその子は休みがとれないし・・・) 二人で一緒のウェアを着たりしているし、その大会の後も、その正規ペアの子と草トーに出続けているののも折に触れて、なんとなく話をしたりしていたので、その人にはわかってもらえるかなあ、と思っていたのですが、このあいだ 次の試合(同じ市の大会)一緒にでてくれない?といわれて、思わず はい、と答えてしまいました。なんといって断ったら、いいかわからなくて・・・ちなみに正規ペアの子はその日は休みがとれないのです。 まだエントリーは正式にはしていないのですが、ほんとに困っています。(その人も、私が相当迷っているのは感じているとは思います。だからエントリーをまだしていないのだと思います。) とりとめのない話でいったい何がいいたいのかわからないと思いますが。。 前回の試合で たいした成績が残らなければ 自然消滅になっていたのに。。と、どうしたらいいのかわからない状態です。 自分が優柔不断すぎて、情けないです・・・ みなさんならどうしますか。

このQ&Aのポイント
  • TK-FBP101BK超薄型コンパクトキーボードで、かな変換が繰り返される問題が発生しています。
  • Amazonで購入してから8ヶ月が経ちましたが、最近この問題が発生しています。
  • 同じ問題を報告しているユーザーもいるため、解決方法を知りたいです。
回答を見る

専門家に質問してみよう