杭電 不容易系列之 4 考新郎

2021-06-10 02:01:27 字數 977 閱讀 8392

國慶期間,省城hz剛剛舉行了一場盛大的集體婚禮,為了使婚禮進行的豐富一些,司儀臨時想出了有乙個有意思的節目,叫做"考新郎",具體的操作是這樣的:

首先,給每位新娘打扮得幾乎一模一樣,並蓋上大大的紅蓋頭隨機坐成一排;

然後,讓各位新郎尋找自己的新娘.每人只准找乙個,並且不允許多人找乙個.

最後,揭開蓋頭,如果找錯了物件就要當眾跪搓衣板...

看來做新郎也不是容易的事情...

假設一共有n對新婚夫婦,其中有m個新郎找錯了新娘,求發生這種情況一共有多少種可能.

input

輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c行資料,每行包含兩個整數n和m(1對於每個測試例項,請輸出一共有多少種發生這種情況的可能,每個例項的輸出佔一行。

sample input

2

2 23 2

sample output

13  

這道題倒不是很難,主要是理解,這道題是什麼意思。可以分為兩部,乙個是求解cmn,從n中挑選m個。另乙個是全錯位排列。公式是a[i]=(i-1)*(a[i-1]+a[i-2]。這樣這道題就容易多了,如果不知道公式,估計只能自己慢慢推導了。「————int64」是屬於可以容下大一點的資料,只用int資料太長會溢位。當然了,輸出要用printf。有個小地方要注意,就是求階乘時的控制,有時會一直不對,上下階乘一起求更加快捷,方便。

#include#include using namespace std;

int main()

__int64 a[21];

a[2]=1,a[3]=2;

for(i=4;i<21;i++)

x=c*a[m];

printf("%i64d\n", x);

} return 0;}

不容易系列之 4 考新郎

題目描述 國慶期間,省城hz剛剛舉行了一場盛大的集體婚禮,為了使婚禮進行的豐富一些,司儀臨時想出了有乙個有意思的節目,叫做 考新郎 具體的操作是這樣的 首先,給每位新娘打扮得幾乎一模一樣,並蓋上大大的紅蓋頭隨機坐成一排 然後,讓各位新郎尋找自己的新娘.每人只准找乙個,並且不允許多人找乙個.最後,揭開...

不容易系列之 4 考新郎

國慶期間,省城hz剛剛舉行了一場盛大的集體婚禮,為了使婚禮進行的豐富一些,司儀臨時想出了有乙個有意思的節目,叫做 考新郎 具體的操作是這樣的 首先,給每位新娘打扮得幾乎一模一樣,並蓋上大大的紅蓋頭隨機坐成一排 然後,讓各位新郎尋找自己的新娘.每人只准找乙個,並且不允許多人找乙個.最後,揭開蓋頭,如果...

不容易系列之 4 考新郎

國慶期間,省城hz剛剛舉行了一場盛大的集體婚禮,為了使婚禮進行的豐富一些,司儀臨時想出了有乙個有意思的節目,叫做 考新郎 具體的操作是這樣的 首先,給每位新娘打扮得幾乎一模一樣,並蓋上大大的紅蓋頭隨機坐成一排 然後,讓各位新郎尋找自己的新娘.每人只准找乙個,並且不允許多人找乙個.最後,揭開蓋頭,如果...