ご教授お願いします

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
九州man

ご教授お願いします

#1

投稿記事 by 九州man » 14年前

対戦試合の組み合わせを求めるプログラムを作りたいんですが、
例えばA~Dのグループがあって、
一日に一試合として、各対戦相手と必ず一回はホームで勝負し、また以下の日程ではそのチームはホームで試合できない
A:1,4日目
B:4,5日目
C:2日目
D:2,3,5日目
とすると、組み合わせ左に書いてあるチームがホームとすると(例:A-B C-D ならAとCがホーム)
1日目:B-A,D-C
2日目:A-C,B-D
3日目:A-D,B-C
4日目:D-A,C-B
5日目:A-B,C-D
6日目:C-A,D-B
のように試合が組める。また日程はグループ数*2-2の日数で実現できる。

この場合に、グループ数が増えた場合にも対応した日程の組み方のアルゴリズムがおもいつきません。
どなたか詳しい方ご教授おねがいします

non
記事: 1097
登録日時: 15年前

Re: ご教授お願いします

#2

投稿記事 by non » 14年前

マルチ禁止
http://okwave.jp/qa/q6447711.html
まるなげ禁止

では、ありますが、1つ質問
グループ数が増えた時のホームで試合ができない日にちは
数学的にどう表せるのですか?
non

九州man

Re: ご教授お願いします

#3

投稿記事 by 九州man » 14年前

本当に申し訳ございませんでした。
まるなげ、マルチはいけないと分かりながらも載せました。

ご指導ありがとうございます。

ホームで試合ができない日は自分でオリジナルで決めてよいというプログラムです。
ただしA,B,C,Dの4チームが存在するときホームが以下の日程で使用できないとすると

A:1,2日目
B:2,3日目
C:3日目
D:3,5日目

このようなとき3日目に2試合を組むことができず,対戦ができない.そのときはエラーを出力する,という内容です.
やはりこのプログラムは再帰関数が必要になりますか?
ご返事いただければさいわいです.

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ご教授お願いします

#4

投稿記事 by softya(ソフト屋) » 14年前

フォーラムルールに従い相互リンクをお願いします。
http://dixq.net/board/board.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

九州man

Re: ご教授お願いします

#5

投稿記事 by 九州man » 14年前

http://okwave.jp/qa/q6447711.html
九州man さんが書きました: 対戦試合の組み合わせを求めるプログラムを作りたいんですが、
例えばA~Dのグループがあって、
一日に一試合として、各対戦相手と必ず一回はホームで勝負し、また以下の日程ではそのチームはホームで試合できない
A:1,4日目
B:4,5日目
C:2日目
D:2,3,5日目
とすると、組み合わせ左に書いてあるチームがホームとすると(例:A-B C-D ならAとCがホーム)
1日目:B-A,D-C
2日目:A-C,B-D
3日目:A-D,B-C
4日目:D-A,C-B
5日目:A-B,C-D
6日目:C-A,D-B
のように試合が組める。また日程はグループ数*2-2の日数で実現できる。

この場合に、グループ数が増えた場合にも対応した日程の組み方のアルゴリズムがおもいつきません。
どなたか詳しい方ご教授おねがいします

閉鎖

“C言語何でも質問掲示板” へ戻る