問題 1163 排隊買票

2021-09-14 01:59:09 字數 730 閱讀 4768

時間限制: 1sec 記憶體限制: 128mb 提交: 484 解決: 199

題目描述

有m個小孩到公園玩,門票是1元。其中n個小孩帶的錢為1元,k個小孩帶的錢為2元。售票員沒有零錢,問這些小孩共有多少種排隊方法,使得售票員總能找得開零錢。注意:兩個拿一元零錢的小孩,他們的位置互換,也算是一種新的排法。(m<=10)

輸入輸入一行,m,n,k(其中m=n+k,m<=10).

輸出輸出一行,總的排隊方案。

樣例輸入

4 2 2
樣例輸出

8
先把 滿足條件的 情況通過遞迴得到數目

再針對 1 元的小朋友 和 2 元的小朋友 分別 進行內部全排 (即求 n! 和 k!)

比如樣例 4 2 2

dg() 得到 2(1122 1212) 種情況 再乘以 1的內部全排(2!=2) 2的內部全排(2!=2)

sum=sum* jc(n)jc(k) sum=22*2=8

#include#includeusing namespace std;

typedef long long ll;

ll jc(int n)

ll wzz(int sm,int sx1,int sx2)

int main()

{ int n,m,k;

scanf("%d %d %d",&m,&n,&k);

if (n

莞工oj 6 排隊買票

題目 思路解析 還是一道深度搜尋的題目。仔細解析這道題目,再每次選擇數的時候都只有兩種情況 選擇一元小朋友 對應情況 只要還有一元小朋友沒有排序即可作出此選擇 選擇兩元小朋友 對應情況 之前選擇的一元小朋友個數大於選擇兩元小朋友個數 即有餘額的情況 則可作出此選擇。而搜尋的出口就是所有小朋友都排序完...

2956 排隊問題

題目描述 description 有n個學生去食堂,可教官規定 必須2人或3人組成一組,求有多少種不同分組的方法。輸入描述 input description 乙個數,n 輸出描述 output description 乙個數,即答案。樣例輸入 sample input 6 樣例輸出 sample ...

2353排隊問題

n個身高不同的小朋友,分別站在編號1 n的格仔裡,n個格仔排成1列。現在我們希望他們能夠按照身高的順序從低到高排成1列。按現在的順序給出n個小朋友的身高,問所有小朋友總共需要移動多少個格仔,才能按照身高從低到高的順序排好隊。注 從格仔3移動到格仔1,需要移動2個格仔。例如 4個小朋友,身高分別是 1...