<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/622b2faa81ded46b7f15991d/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/622b2faa81ded46b7f15991d/bg1.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">网球循环赛问题</div><div class="t m0 x2 h4 y3 ff1 fs1 fc0 sc1 ls0 ws0">一、<span class="_ _0"> </span>题目</div><div class="t m0 x3 h4 y4 ff1 fs1 fc0 sc1 ls0 ws0">设有<span class="_ _1"> </span>个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:</div><div class="t m0 x2 h4 y5 ff1 fs1 fc0 sc1 ls0 ws0">(<span class="ff2">1</span>)<span class="_ _2"> </span>每个选手必须与其他<span class="_ _3"> </span><span class="ff2">n-1<span class="_ _3"> </span></span>个选手各赛一次;</div><div class="t m0 x2 h4 y6 ff1 fs1 fc0 sc1 ls0 ws0">(<span class="ff2">2</span>)<span class="_ _2"> </span>每个选手一天只能赛一次;</div><div class="t m0 x2 h4 y7 ff1 fs1 fc0 sc1 ls0 ws0">(<span class="ff2">3</span>)<span class="_ _2"> </span>循环赛一共进行<span class="_ _3"> </span><span class="ff2">n-1<span class="_ _3"> </span></span>天;</div><div class="t m0 x4 h4 y8 ff1 fs1 fc0 sc1 ls0 ws0">按此要<span class="_ _4"></span>求可将<span class="_ _4"></span>比赛日<span class="_ _4"></span>程表设<span class="_ _4"></span>计成<span class="_ _5"> </span><span class="ff2">n<span class="_ _3"> </span></span>行和<span class="_ _6"> </span><span class="ff2">n-1<span class="_ _3"> </span></span>列的<span class="_ _4"></span>表。表<span class="_ _4"></span>中第<span class="_ _6"> </span><span class="ff2">i<span class="_ _3"> </span></span>行<span class="_ _4"></span>和第<span class="_ _6"> </span><span class="ff2">j<span class="_ _3"> </span></span>列处填<span class="_ _4"></span>入第<span class="_ _6"> </span><span class="ff2">i<span class="_ _3"> </span></span>个</div><div class="t m0 x2 h4 y9 ff1 fs1 fc0 sc1 ls0 ws0">选手在第<span class="_ _3"> </span><span class="ff2">j<span class="_ _3"> </span></span>天所遇到的对手。</div><div class="t m0 x2 h4 ya ff1 fs1 fc0 sc1 ls0 ws0">二、<span class="_ _0"> </span>算法分析与设计</div><div class="t m0 x3 h4 yb ff1 fs1 fc0 sc1 ls0 ws0">按分治策略,可以将所有的选手分为两半,则<span class="_ _3"> </span><span class="ff2">n<span class="_ _3"> </span></span>个选手的比赛日程表可以通过<span class="_ _3"> </span><span class="ff2">n/2<span class="_ _3"> </span></span>个</div><div class="t m0 x2 h4 yc ff1 fs1 fc0 sc1 ls0 ws0">选手的比赛日程表来决定。递归地用这种一分为二的策略对选手进行划分,直到只剩下两</div><div class="t m0 x2 h4 yd ff1 fs1 fc0 sc1 ls0 ws0">个选手时,比赛日程表的制定就变得很简单。这时只要让这两个选手进行比赛就可以了。</div><div class="t m0 x5 h5 ye ff2 fs1 fc0 sc1 ls0 ws0"> 1 2 3 4 5 6 7</div><div class="t m0 x6 h5 yf ff2 fs1 fc0 sc1 ls0 ws0">1 </div><div class="t m0 x6 h5 y10 ff2 fs1 fc0 sc1 ls0 ws0">2</div><div class="t m0 x6 h5 y11 ff2 fs1 fc0 sc1 ls0 ws0">3</div><div class="t m0 x6 h5 y12 ff2 fs1 fc0 sc1 ls0 ws0">4 </div><div class="t m0 x7 h5 yf ff2 fs1 fc0 sc1 ls0 ws0">2 3 4 </div><div class="t m0 x7 h5 y10 ff2 fs1 fc0 sc1 ls0 ws0">1 4 3</div><div class="t m0 x7 h5 y11 ff2 fs1 fc0 sc1 ls0 ws0">4 1 2</div><div class="t m0 x7 h5 y12 ff2 fs1 fc0 sc1 ls0 ws0">3 2 1 </div><div class="t m0 x8 h5 yf ff2 fs1 fc0 sc1 ls0 ws0">5 6 7 8 </div><div class="t m0 x8 h5 y10 ff2 fs1 fc0 sc1 ls0 ws0">6 5 8 7</div><div class="t m0 x8 h5 y11 ff2 fs1 fc0 sc1 ls0 ws0">7 8 5 6</div><div class="t m0 x8 h5 y12 ff2 fs1 fc0 sc1 ls0 ws0">8 7 6 5 </div><div class="t m0 x6 h5 y13 ff2 fs1 fc0 sc1 ls0 ws0">5 </div><div class="t m0 x6 h5 y14 ff2 fs1 fc0 sc1 ls0 ws0">6</div><div class="t m0 x6 h5 y15 ff2 fs1 fc0 sc1 ls0 ws0">7</div><div class="t m0 x6 h5 y16 ff2 fs1 fc0 sc1 ls0 ws0">8 </div><div class="t m0 x7 h5 y13 ff2 fs1 fc0 sc1 ls0 ws0">6 7 8 </div><div class="t m0 x7 h5 y14 ff2 fs1 fc0 sc1 ls0 ws0">5 8 7</div><div class="t m0 x7 h5 y15 ff2 fs1 fc0 sc1 ls0 ws0">8 5 6</div><div class="t m0 x7 h5 y16 ff2 fs1 fc0 sc1 ls0 ws0">7 6 5 </div><div class="t m0 x8 h5 y13 ff2 fs1 fc0 sc1 ls0 ws0">1 2 3 4 </div><div class="t m0 x8 h5 y14 ff2 fs1 fc0 sc1 ls0 ws0">2 1 4 3</div><div class="t m0 x8 h5 y15 ff2 fs1 fc0 sc1 ls0 ws0">3 4 1 2</div><div class="t m0 x8 h5 y16 ff2 fs1 fc0 sc1 ls0 ws0">4 3 2 1 </div><div class="t m0 x1 h4 y17 ff2 fs1 fc0 sc1 ls0 ws0"> <span class="ff1">八个选手的比赛日程表</span></div><div class="t m0 x4 h4 y18 ff1 fs1 fc0 sc1 ls0 ws0">上图所列出的正方形表是<span class="_ _3"> </span><span class="ff2">8<span class="_ _3"> </span></span>个选手的比赛日程表。其中左上角与左下角的两小块分别</div><div class="t m0 x2 h4 y19 ff1 fs1 fc0 sc1 ls0 ws0">为选手<span class="_ _3"> </span><span class="ff2">1<span class="_ _3"> </span></span>至选手<span class="_ _3"> </span><span class="ff2">4<span class="_ _3"> </span></span>和选手<span class="_ _3"> </span><span class="ff2">5<span class="_ _3"> </span></span>至选手<span class="_ _3"> </span><span class="ff2">8<span class="_ _3"> </span></span>前<span class="_ _3"> </span><span class="ff2">3<span class="_ _3"> </span></span>天的比赛日程。据此,将左上角小块中的所有数</div><div class="t m0 x2 h4 y1a ff1 fs1 fc0 sc1 ls0 ws0">字按其相对位置抄到右下角,又将左下角小块中的所有数字按其相对位置抄到右上角,这</div><div class="t m0 x2 h4 y1b ff1 fs1 fc0 sc1 ls0 ws0">样就分别安排好了选手<span class="_ _3"> </span><span class="ff2">1<span class="_ _3"> </span></span>至选手<span class="_ _3"> </span><span class="ff2">4<span class="_ _3"> </span></span>和选手<span class="_ _3"> </span><span class="ff2">5<span class="_ _3"> </span></span>至选手<span class="_ _3"> </span><span class="ff2">8<span class="_ _3"> </span></span>在后<span class="_ _3"> </span><span class="ff2">4<span class="_ _3"> </span></span>天的比赛日程。依此思想容易</div><div class="t m0 x2 h4 y1c ff1 fs1 fc0 sc1 ls0 ws0">将这个比赛日程表推广到具有任意多个选手的情形。</div><div class="t m0 x2 h4 y1d ff1 fs1 fc0 sc1 ls0 ws0">三、<span class="_ _0"> </span>流程图</div></div></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
</body>
</html>