[问题] 大地排关问题

楼主: qaz00123 (00123)   2014-02-28 01:10:43
本身不是资工系但是以前有稍微接触算法
最近刚好营队要排对战表想说自己来写写看
大概规则是 ( 文字表达能力薄弱orz 文末附上对战表的大概样子 )
n关 m小队
总共有n个时段,
每小队都要玩到每一关,
每个时段中每关要有两个小队在同一关
同个时段不可以有小队同时出现在不同的两关
每关会休关 n-m/2 个时段
尽量不重复对上之前对过的小队
目前想法是用DFS慢慢找
每找到一组可行的解就记录对上重复小队的次数
然后找最小的。
想问问看有没有更好的方法?
( 虽然我还在磨DFS要怎么实做出来orz )
======================================================
对战表大概是 (假设是六关八小)
时段一 时段二 时段三 时段四 时段五 时段六
第一关 1vs2 休关 休关
第二关 3vs4 休关 休关
第三关 休关 休关
第四关 5vs6 休关 休关
第五关 7vs8 休关 休关
第六关 休关 休关
======================================================
先谢谢大家:D
作者: tkcn (say)   2014-02-28 23:27:00
想了几种方法,你提出的这种是我觉得最好的但我会设计成先找 "容许 0 次重复",接着 1 次,逐渐放宽否则我担心状态太多 DFS 会跑不完
楼主: qaz00123 (00123)   2014-03-01 00:35:00
了解!!!我再来试试看 不过有点好奇其他方法是什么0.0
作者: tkcn (say)   2014-03-01 00:46:00
例如: 先排好每个小队每一轮会对到谁,这样都可以排出不重复但是这样最终会造成关卡重复。
楼主: qaz00123 (00123)   2014-03-01 23:19:00
了解了 谢谢~

Links booklink

Contact Us: admin [ a t ] ucptt.com