UVA 10444

原创 2016年06月01日 11:28:18

Thinking: This question is quite easy if you read it more carefully and actually the problem has already told you how to solve it.

Tip : Since sometimes factorial(n) can be quite large, long long int should be used to avoid run time error.


AC code:

#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#define MIN(a,b) ((a)<(b)?(a):(b))
#define lli long long int
using namespace std;

lli fac(lli n)
{
	lli result = 1;
	for (lli i = 1; i <= n; i++)
		result *= i;
	return result;
}

lli combination(int n, int r)
{
	if (r == 0||n == r)
		return 1;
	if (r > n)
		return 0;
	lli facn = fac(n);
	lli facr = fac(r);
	lli facnmr = fac(n - r);
	return facn /(facr*facnmr);
}


int main()
{
	//freopen("in.txt", "r", stdin);
	int n, p;
	int T = 0;
	while (scanf("%d%d", &n, &p) && (n || p))
	{
		T++;
		if (n == 0)
		{	
			printf("Case %d: %d\n", T, 0);
			continue;
		}
		int result = 0;
		int moved = 0;
		for (int k = 0; 1; k++)
		{
			int num = combination(p - 3 + k, MIN(k, p - 3));
			int cost = 1 << k;
			if (moved + num >= n)
			{
				int remain = n - moved;
				result += cost*remain;
				break;
			}
			else
			{
				moved += num;
				result += cost*num;
			}
		}
		printf("Case %d: %d\n", T, result);
	}
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

机器人足球2d uva球队代码

  • 2009年12月14日 22:05
  • 2.77MB
  • 下载

模拟,滚动数组,递归(不公平竞赛,uva 1609)

用递归的思想求解。 n是2的整数幂,应该要想到递归的思想的。 但不是用递归函数求解的。而是直接模拟。 想办法组织一轮比赛,使得比赛过后剩下的n/2个人依然满足条件。当n=2时结果是显然的。紫书上...

uva最全ac代码

  • 2013年07月04日 23:19
  • 4.18MB
  • 下载

《挑战程序设计竞赛》3.3.2 数据结构-线段树和平方分割 POJ2991 3264 2104 3468 3368 3470 1201 UVA11990(4)

# http://ac.jobdu.com/problem.php?pid=题意思路代码# http://ac.jobdu.com/problem.php?pid=题意思路代码# http://...

UVA1131 最优三角形剖分

  • 2017年11月04日 09:19
  • 16KB
  • 下载

UVA沃尔多夫在哪里

  • 2014年12月11日 19:03
  • 3KB
  • 下载

UVa10034/POJ2560_Freckles(最小生成树)(小白书图论专题)

解题报告 题意: 把所有点连起来,求使用的墨水最少。 思路: 裸最小生成树。 #include #include #include #include #define inf 0x3f3f3f3...

uva531 LCS算法

  • 2015年04月30日 10:46
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UVA 10444
举报原因:
原因补充:

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