搜索(水) HOJ 1870 Race
2014-02-08 09:53
309 查看
Race
My Tags | (Edit) |
---|
Source : HCPC 2005 Spring | |||
Time limit : 3 sec | Memory limit : 32 M |
首先回顾一下这个故事。
齐使者如梁,孙膑以刑徒阴见,说齐使。齐使以为奇,窃载与之齐。齐将田忌善而客待之。忌数与齐诸公子驰逐重射。孙子见其马足不甚相远,马有上、中、下辈。于是孙子谓田忌曰:“君弟重射,臣能令君胜。”田忌信然之,与王及诸公子逐射千金。及临质,孙子曰:“今以君之下驷与彼上驷,取君上驷与彼中驷,取君中驷与彼下驷。”既驰三辈毕,而田忌一不胜而再胜,卒得王千金。于是忌进孙子于威王。威王问兵法,遂以为师。
现在请你思考,如果双方马匹数为K,分成K个等级,田忌的马比齐王同等级的马慢,而且比齐王低等级的马快。 赛马双方的出场顺序不定,田忌取胜的概率有多大?
输入[/b]
第一行一个数N,表示下面有N个测试数据。
紧接着下面N行,每行一个整数K ( 1 <= K <= 10 )
输出[/b]
对于每个输入K, 输出田忌取胜的概率,精确到小数点后3位。 每个输出占一行。示例输入[/b]
4
1
2
3
5
示例输出[/b]
0.000 0.000 0.167 0.225
题意:就是赛马,但是没有策略的随意安排,问赢的概率是多少。
思路:。。。枚举,呵呵。枚举能赢得情况有多少个,然后(输+赢)的总的情况是n!。除一下就行了。
代码:
#include<iostream> #include<cstdio> #include<cstring> #include<stack> #include<string.h> #include<algorithm> #include<queue> using namespace std; const int maxn = 20; int L[maxn] , R[maxn]; int sum[11] , n; int win_sum[11]; void init() { memset(sum,0,sizeof(sum)); memset(win_sum,0,sizeof(win_sum)); } void dfs(int step , int rest,int win) { if (win+rest <= n-win-rest) return; if (rest==0) { ++win_sum[n]; return; } int x = R[0]; while (x!=n+1) { R[L[x]] = R[x]; L[R[x]] = L[x]; if (x > step) dfs(step+1,rest-1,win+1); else dfs(step+1,rest-1,win); R[L[x]] = x; L[R[x]] = x; x = R[x]; } } void solve() { sum[0] = 1; for (n = 1 ; n <= 10 ; ++n) { sum[n] = sum[n-1]*n; R[0] = 1; for (int i = 1 ; i <= n ; ++i) { L[i] = i-1; R[i] = i+1; } L[n+1] = n; dfs(1,n,0); } } int main() { init(); solve(); int T; cin>>T; while (T--) { scanf("%d",&n); double ans = (double)win_sum[n]/sum[n]; printf("%.3lf\n",ans); } }
相关文章推荐
- 搜索 HOJ 1619 The Die Is Cast
- (简单) 搜索 HOJ 1105 Egyptian Multiplication
- 搜索 HOJ 1193 Anagram checker
- (简单) 搜索 最短路 HOJ 1121 Erdos Numbers
- 搜索 HOJ 1114 Frame Stacking
- 搜索 HOJ 1114 Frame Stacking
- 搜索 HOJ 1394 Shortcut
- (简单)搜索 HOJ 1692 Choose Your Own Adventure
- 【搜索剪枝】HOJ 1239 Calling Extraterrestrial Intelligence Again
- 搜索 HOJ 1868 八数码
- 搜索 HOJ 1357 Calling Extraterrestrial Intelligence Again
- 搜索 HOJ 1749 Doggone Moles
- 搜索(bfs) HOJ 1448 Dungeon Master
- Go hdu 4158 hoj 简单搜索
- (简单)搜索 HOJ 1022 Spacecraft Malfunction
- 搜索 HOJ 1320 Square Destroyer
- (简单)搜索 HOJ 1030 Labyrinth
- hdu 4158 hoj 2581 Go 简单搜索
- 搜索 HOJ 1281 Lagrange's Four-Square Theorem
- (简单) 搜索 HOJ 1044 Transportation