例题10-14 比赛名次 UVa12034

1.题目描述:点击打开链接

2.解题思路:本题通过寻找递推关系解决。设最终答案是f(n)。假设第一名有i个人,有C(n,i)种可能,接下来有f(n-i)种可能性。最终答案是∑C(n,i)f(n-i)(i从1开始)。

3.代码:

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<deque>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<functional>
using namespace std;

#define N 1000+10
#define MOD 10056
int C[N][N];
int f[N];
int n;
void init()
{
	C[0][0] = f[0] = 1;
	for (int i = 1; i <= 1000; i++)
	{
		C[i][0] = C[i][i]=1;
		f[i] = 0;
		for (int j = 1; j < i; j++)
			C[i][j] = (C[i - 1][j - 1] + C[i - 1][j])%MOD;
		for (int j = 1; j <= i; j++)
			f[i] = (f[i] + C[i][j] * f[i - j]%MOD) % MOD;
	}
}
int main()
{
	freopen("test.txt", "r", stdin);
	int cnt = 0;
	init();
	int t;
	cin >> t;
	while (t--)
	{
		cin >> n;
		printf("Case %d: ", ++cnt);
		cout << f[n] << endl;
	}
	return 0;
}



时间: 2024-10-15 15:09:02

例题10-14 比赛名次 UVa12034的相关文章

HDU 1285 拓普排序 基本模板例题 确定比赛名次

确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15603    Accepted Submission(s): 6224 Problem Description 有 N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排 名,但现在裁判委员会不能

HDU 1285 确定比赛名次

确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 19100    Accepted Submission(s): 7610 Problem Description 有 N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排 名,但现在裁判委员会不能

拓扑排序_确定比赛名次

确定比赛名次 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前.现在请你编程序确定排名. Input 输入有若干组,每组中的第一行为二个数N(1<=N<=500),M:其中N表示队伍的个数,M表示接着有M行的输入数据.接下来的M行数据中,

hduoj 1285 确定比赛名次

http://acm.hdu.edu.cn/showproblem.php?pid=1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14739 Accepted Submission(s): 5892 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛

确定比赛名次(拓扑排序)

http://acm.hdu.edu.cn/showproblem.php?pid=1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16504    Accepted Submission(s): 6534 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....

hdu 确定比赛名次(拓扑排序)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17811    Accepted Submission(s): 7126 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3

杭电1285--确定比赛名次(拓扑排序)

确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17184    Accepted Submission(s): 6827 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接

[HDOJ1285] 确定比赛名次

确定比赛名次 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15259    Accepted Submission(s): 6093 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接

确定比赛名次(map+邻接表 邻接表 拓扑结构 队列+邻接表)

确定比赛名次 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 40   Accepted Submission(s) : 31 Problem Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的