【洛谷】P2181

2018-11-22  本文已影响0人  Claire_cc

https://www.luogu.org/problemnew/show/P2181
思路:任何三条对角线都不交于一点,说明交点只可能是两条对角线交出来的,所以C(n,4)就行了。此外还要考虑溢出的问题,最后式子可化简为n(n-1)(n-2)*(n-3)/4!,在每个含n的分式相乘之前,先除以2或3(24的质因数)

#include<cstdio>
using namespace std;
int main()
{
    int n;
    cin>>n;
    long long sum=1;
    int t=24;
    for(int i=0;i<=3;i++)
    {
        int tmp=n-i;
        while(tmp%2==0&&t%2==0)
        {
            tmp/=2;
            t/=2;
        }
        while(tmp%3==0&&t%3==0)
        {
            tmp/=3;
            t/=3;
        }
        sum*=tmp;
    }
    cout<<sum;
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读