您的位置:首页 > 其它

codeforces 630H. Benches

2016-07-13 18:54 302 查看
题目链接

一座城市有n条南北走向的街道和n条东西走向的街道,现要将5条不用的长凳放置在街道相交处,且同一条街道上的长凳数不超过一条,问有多少种放置方案 



#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long LL;
LL C(LL n,LL r){
LL i,j,s=1;
if(r>n)return 0;
if(n-r<r)r=n-r;
for(i=0,j=1;i<r;i++){
s*=(n-i);
while(j<=r&&s%j==0)
s/=j,j++;
}
return s;
}
int main()
{
LL n,ans=1;
cin>>n;
for(LL i=n,j=0;j<5;j++,i--){
ans*=i;
}
cout<<ans*C(n,5)<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: