題目描述:
小q有x首長度為a的不同的歌和y首長度為b的不同的歌,現在小q想用這些歌組成乙個總長度正好為k的歌單,每首歌最多只能在歌單**現一次,在不考慮歌單內歌曲的先後順序的情況下,請問有多少種組成歌單的方法。
輸入描述:
每個輸入包含乙個測試用例
每個測試的第一行包含乙個整數,表示歌單的總長度k(1<=k<=1000).
接下來的一行包含四個正整數,分別表示歌的第一種長度a(a<=10)和數量x(x<=100)以及歌的第二種長度b(b<=10)和數 量y(y<=100).保證a不等於b。
輸出描述:
輸出乙個整數,表示組成歌單的方法取模。因為答案可能會很大,輸出對1000000007取模的結果
輸入示例:
52 3 3 3
輸出示例:
9思路解析:本題是一道排列組合題,對於x進行遍歷,當長度為a的歌單可以取整數時,去判斷長度為b的歌單是否可以取整數,本次結果可取,進行下一次的迴圈。需要注意的是:題目中說不考慮歌單的先後順序,那麼也就是說長度為a的歌單需要取出其中的乙個使用的是
/**
小q的歌單:
*/#includeint mod=1000000007;
//求階乘的方法
int fun(int n)
int main(void)
}printf("%d",result%mod);
return 0;
}
執行結果如下:
騰訊2018秋招筆試真題 小Q的歌單
題目描述 小 q 有 x 首長度為 a 的不同的歌和 y 首長度為 b 的不同的歌,現在小 q 想用這些歌組成乙個 總長度正好為 k 的歌單,每首歌最多只能在歌單中出現一次,在不考慮歌單內歌曲的先後順序的情況下,請問有多少種組成歌單的方法。輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含...
騰訊筆試 小Q的歌單
時間限制 1秒 空間限制 32768k 小q有x首長度為a的不同的歌和y首長度為b的不同的歌,現在小q想用這些歌組成乙個總長度正好為k的歌單,每首歌最多只能在歌單 現一次,在不考慮歌單內歌曲的先後順序的情況下,請問有多少種組成歌單的方法。輸入描述 每個輸入包含乙個測試用例。每個測試用例的第一行包含乙...
騰訊筆試題 小Q的歌單
題目描述 小q有x首長度為a的不同的歌和y首長度為b的不同的歌,現在小q想用這些歌組成乙個總長度正好為k的歌單,每首歌最多只能在歌單中出現一次,在不考慮歌單內歌曲的先後順序的情況下,請問有多少種組成歌單的方法。輸入描述 每個輸入包含乙個測試用例 每個測試的第一行包含乙個整數,表示歌單的總長度k 1 ...