您的位置:首页 > 其它

UVA 11609 Teams

2015-07-18 10:25 1286 查看
In a galaxy far far away there is an ancient game played among the planets. The specialty of the gameis that there is no limitation on the number of players in each team, as long as there is a captain inthe team. (The game is totally strategic, so sometimes
less player increases the chance to win). So thecoaches who have a total of N players to play, selects K (1 ≤ K ≤ N) players and make one of themas the captain for each phase of the game. Your task is simple, just find in how many ways a coachcan select a
team from his N players. Remember that, teams with same players but having differentcaptain are considered as different team.

题意:给你N个人,在给K,K表示从N 中选出来多少个人。

K个人中让不同的人当队长则表示K种不同的选法。

推导可得出。总共是取出K人的排列组合*K。

->sum=n*2^(n-1)

这里要用快速求幂算法。

#include<stdio.h>
#include<math.h>
const long long mod=1000000007;
int n;

void chuli()
{
long long sum=1,pow=2;
int b=n-1;
while(b>0)
{
if(b&1)sum=(sum*pow)%mod;
b>>=1;
pow=(pow*pow)%mod;
}
printf("%lld\n",(n*sum)%mod);
}

int main()
{
int kj=1,tt;
scanf("%d",&tt);
while(tt--)
{scanf("%d",&n);
printf("Case #%d: ",kj++);
chuli();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: