一座城市有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;
}

本文探讨了一道数学计数问题,即在一个由n条南北走向和n条东西走向街道构成的城市中,如何计算将5条长凳放置在街道交叉口的不同方案数量,同时限制同一条街道上的长凳数量不超过一条。

880

被折叠的 条评论
为什么被折叠?



