1、淘汰赛制(elimination.pas/c/cpp) 动态规划
来源:互联网 发布:狂野飙车8无网络连接 编辑:程序博客网 时间:2024/05/12 18:22
1、淘汰赛制(elimination.pas/c/cpp)
【问题描述】
淘汰赛制是一种极其残酷的比赛制度。2n名选手分别标号1,2,3,…,2n-1,2n,他们将要参加n轮的激烈角逐。每一轮中,将所有参加该轮的选手按标号从小到大排序后,第1位与第2位比赛,第3位与第4位比赛,第5位与第6位比赛……只有每场比赛的胜者才有机会参加下一轮的比赛(不会有平局)。这样,每轮将淘汰一半的选手。n轮过后,只剩下一名选手,该选手即为最终的冠军。
现在已知每位选手分别与其他选手比赛获胜的概率,请你预测一下谁夺冠的概率最大。
【输入文件】
输入文件elimination.in。第一行是一个整数n(l≤n≤l0),表示总轮数。接下来2n行,每行2n个整数,第i行第j个是pij(0≤pij≤100,pii=0,pij+pji=100),表示第i号选手与第j号选手比赛获胜的概率。
【输出文件】
输出文件elimination.out。只有一个整数c,表示夺冠概率最大的选手编号(若有多位选手,输出编号最小者)。
【样例输入】
2
0 90 50 50
10 0 10 10
50 90 0 50
50 90 50 0
【样例输出】
1
【数据规模】
30%的数据满足n≤3;100%的数据满足n≤10。
【方法一】动态规划
设d[i,j]表示第j位选手通过第i轮的概率;P[i,j]表示第i号选手与第j号选手比赛获胜的概率;
var a:array[0..1024,0..1024] of longint;f:array[0..10,0..1024] of real;n,m,i,j,k,x:longint;sum:real;begin assign(input,'elimination.in'); assign(output,'elimination.out'); reset(input); rewrite(output); readln(n); m:=1 shl n; for i:=1 to m do f[0,i]:=1; for i:=1 to m do begin for j:=1 to m do read(a[i,j]); readln; end; for i:=1 to n do for j:=1 to m do begin x:=j-1; x:=(x div (1 shl i)) * (1 shl i); {writeln(x,' X','j:',j);} {x:=j;} {repeat dec(x); until x mod (1 shl i)=0; writeln(x); } if x+1 shl (i-1)>=j then inc(x,1 shl (i-1)); for k:=x+1 to x+1 shl (i-1) do f[i,j]:=f[i,j]+f[i-1,k]*a[j,k]/100; f[i,j]:=f[i,j]*f[i-1,j]; end; {for i:=1 to m do writeln(f[n,i]);} sum:=0; for i:=1 to m do if f[n,i]>sum then begin sum:=f[n,i]; x:=i; end; writeln(x); close(input); close(output);end.
- 1、淘汰赛制(elimination.pas/c/cpp) 动态规划
- 淘汰赛制(elimination.pas/c/cpp)
- 【动态规划】【排列组合】Wiseking (Wiseking.pas/c/cpp)
- 【动态规划】新型计算机 computer.pas/c/cpp
- 【动态规划】无聊的数列 line.pas/c/cpp
- 【动态规划 变形】天堂 heaven.pas/c/cpp
- 【动态规划】书本整理 book.pas/c/cpp
- 淘汰赛制
- 淘汰赛制
- 淘汰赛制
- 淘汰赛制
- 【动态规划】【单调队列】最大子序列的和 (max.c/cpp/pas)
- 【递推】【动态规划】【数列】第二题 覆盖墙壁(wall.pas/c/cpp)
- 【动态规划】第四题 分配小组(poset.pas/c/cpp)
- 【动态规划】Tom的烦恼 tom.pas/c/cpp/in/out
- 【动态规划】贝茜的晨练计划 cowrun.pas/c/cpp
- mm.cpp/c/pas
- set.cpp/c/pas
- Linux内核:轻量级进程间的关系
- 实时渲染(第三版):第三章 图形处理单元 3.1 3.2
- 不拖控件建表格
- 算法&&KMP
- 在DLL中产生对话框的方法一(Win32 DLL)
- 1、淘汰赛制(elimination.pas/c/cpp) 动态规划
- 鼠标拖入文件
- vc使用Menu和Toolbar
- RadioButtonList每次只能选择一个并写入数据库
- WindowsAzure 之 Storage
- 2、种树(trees.pas/c/cpp)贪心
- android的窗口机制分析------UI管理系统
- JSTL——核心标签
- 2006年15所中国一流大学 --每个学校的特色学科不一样