n支队伍比赛

原创 2012年03月21日 10:22:47

n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系,
存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j的队伍中更强的一支。
所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,
比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是 4对3, 5对8。.......
胜者晋级,败者淘汰,同一轮淘汰的所有队伍排名不再细分,即可以随便排,
下一轮由上一轮的胜者按照顺序,再依次两两比,比如可能是4对5,直至出现第一名
编程实现,给出二维数组w,一维数组order 和 用于输出比赛名次的数组result[n],
求出result。


//coder:Lee,20120320

#include<iostream>
#include<cassert>
using namespace std;
void GameResult(int  w[][4],int *order,int n)
{
assert(w!=NULL&&*w!=NULL&&order!=NULL&&n>0);
if(n==1)
return;
int *result=new int[n];
int eliminationIndex=n/2;
if(n%2==1)
eliminationIndex+=1;
for(int i=0;i<n/2;i++)
{
if (w[order[2*i]][order[2*i+1]]==order[2*i])
{
result[i]=order[2*i];
result[i+eliminationIndex]=order[2*i+1];
}
else
{
result[i]=order[2*i+1];
result[i+eliminationIndex]=order[2*i];
}
}
if(n%2==1)
result[i]=order[2*i];
for(i=0;i<n;i++)
order[i]=result[i];
GameResult(w,order,eliminationIndex);
}




int main()
{


int w[4][4]={{0,0,2,3},{0,1,2,3},{2,2,2,2},{3,3,2,3}};
int order[4]={2,3,0,1};
GameResult(w,order,4);
for(int i=0;i<4;i++)
cout<<order[i]<<" ";
return 0;
}

算法习题36:n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系

http://bbs.csdn.net/topics/350118968 引用自网友:longzuo 谷歌笔试: n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系...
  • ylf13
  • ylf13
  • 2013年10月30日 14:32
  • 1745

微软100题(36)N支队伍比赛

题目:n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系, 存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j的队伍中更强的一支。 所以w[i][j...
  • liuqing0517
  • liuqing0517
  • 2015年05月28日 21:32
  • 362

n 支队伍比赛,分别编号为0,1,2......n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中。。。

题目: n 支队伍比赛,分别编号为0,1,2......n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j 的队伍中更强的一支,所以w[...
  • Army_War
  • Army_War
  • 2014年07月03日 12:06
  • 1162

HDOJ 1285 确定比赛名次

确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot...
  • CHRISTINA_ERZA
  • CHRISTINA_ERZA
  • 2016年08月05日 11:01
  • 137

hdu 确定比赛名次

算法:拓扑排序 题意:有一个比赛,现在知道很多队之间的关系;让你去让确定比赛排名; Problem Description 有N个比赛队(1 Input 输入有若干组,每组中的第一行...
  • wangxianse
  • wangxianse
  • 2015年12月06日 14:22
  • 386

真正的成功(约翰·伍登)

我在1934年总结出我自己对成功的定义,那时候我在印第安纳州的南岸市一所中学当老师。有一点点失望,也可能是被我的英语班年轻学生的父母们期望他们的子女获得“优秀”或者“良好”的方式给弄糊涂了,他们觉得“...
  • pan_tian
  • pan_tian
  • 2014年05月12日 21:59
  • 3724

《你早该这么玩excel》大表哥伍昊新课开讲——顶你学堂独家

伍昊是谁?在Excel界,如果你还不知道这个神一样的存在,先来看一组数据:     6月16日伍昊在罗辑思维发布了Excel公开课,2400元/人/天,不打折。   截至6月18日 18:0...
  • laolitouhappy
  • laolitouhappy
  • 2015年10月22日 17:26
  • 2050

南阳理工学院软件月赛

算法:多源最短路 七龙珠散落在了各地,我们已经找到了一个龙珠并感应到了其他龙珠的所在城镇,问以某种顺序找齐七个龙珠(路过城镇可以不取走龙珠),最快几天能找齐? 输入 Input 第一行一个整数T(少...
  • wangxianse
  • wangxianse
  • 2016年03月28日 23:03
  • 204

循环比赛日程表

Problem Description 设有N个选手进行循环比赛,其中N=2^M,要求每名选手要与其他N-1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N-1天,要求每天没有选手轮空。 ...
  • ruruoran
  • ruruoran
  • 2014年08月06日 08:11
  • 358

舍伍德(Sherwood)算法学习笔记

一.概念引入         设A是一个确定性算法,当它的输入实例为x时所需的计算时间记为tA(x)。设Xn是算法A的输入规模为n的实例的全体,则当问题的输入规模为n时,算法A所需的平均时间为。这...
  • dyllove98
  • dyllove98
  • 2013年07月27日 19:00
  • 2877
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:n支队伍比赛
举报原因:
原因补充:

(最多只允许输入30个字)