羅区P5520 [[yLOI2019]のTsing桜]

この問題は、プライマリ数学オリンピックああです。

質問の意味:シーク\(m個\)隣接するプログラム番号ペアワイズ異なるアイテム。

直接の順列。

我々は、彼らが空い間の最小のビット数を必要失う可能性が- \ (M-1 \)欠損を

したがって、我々は左使用\(M-1 \)それらが隣接ペアワイズすることができるように、2つの中間体物品の各々に空孔。

だから、残りの場所の\(N-M + 1 \ ) 欠員。

問題は、この問題に変換されます。

所与\(N-M + 1 \ ) プログラムの異なるアイテムのm個に、座席。

うまく直接配置。

\(年\) = \(A_ {N-M + 1} ^ {M} \)

#include<bits/stdc++.h>
using namespace std;
int type,n,m,mod,cnt;
long long ans=1;
int main()
{
    scanf("%d%d%d%d",&type,&n,&m,&mod);
    for(int i=n-m+1;i>=n-2*m+2;i--)
    {
        ans=(ans*i)%mod;
    }
    printf("%lld\n",ans);
    return 0;
}

おすすめ

転載: www.cnblogs.com/2017gdgzoi44/p/11409457.html