腾讯2018秋招笔试真题-小Q的歌单
小Q的歌单
【题目描述】小 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 取模的结果。
输入示例:
5
2 3 3 3
输出示例:
9
解题思路:
1)歌单存在时要满足的条件
i * a <= k && (k - a * i) % b == 0 && (k - a * i) / b <= y
2)需要用得到的公式:
从i个不同元素中,选择j个的组合数目,记为c[i][j],则满足
c[i][j] = (c[i - 1][j - 1] + c[i - 1][j])
代码
#include <stdio.h>
#include<stdlib.h> //system()using namespace std;
long long c[105][105];
const int mod = 1000000007;
void init() {c[0][0] = 1;for (int i = 1; i <= 100; i++) {c[i][0] = 1;for (int j = 1; j <= 100; j++)c[i][j] = (c[i - 1][j - 1] + c[i - 1][j]) % mod;}
}
int main() {int k, a, b, x, y;long long ans = 0;init();scanf_s("%d", &k);scanf_s("%d%d%d%d", &a, &x, &b, &y);for (int i = 0; i <= x; i++) {if (i * a <= k && (k - a * i) % b == 0 && (k - a * i) / b <= y)ans = (ans + (c[x][i] * c[y][(k - a * i) / b]) % mod) % mod;}printf("%lld\n", ans);system("pause");return 0;
}
注:参考了牛客网解答。
腾讯2018秋招笔试真题-小Q的歌单相关推荐
- 腾讯2018秋招笔试真题(1)
腾讯2018秋招笔试真题 小Q的歌单 [题目描述]小 Q 有 X 首长度为 A 的不同的歌和 Y 首长度为 B 的不同的歌,现在小 Q 想用这些歌组成一个 总长度正好为 K 的歌单,每首歌最多只能在歌 ...
- 腾讯2018秋招笔试真题(2)
腾讯2018秋招笔试真题 3.画家小Q [题目描述]画家小 Q 又开始他的艺术创作.小 Q 拿出了一块有 NxM 像素格的画板, 画板初始状态是空白 的,用'X'表示. 小 Q 有他独特的绘画技巧,每 ...
- 腾讯2018秋招笔试真题——安排机器
本文参考自腾讯2018秋招笔试真题--安排机器 查看原文: 原文地址 题目描述:小Q的公司最近接到m个任务,第i个任务需要Xi的时间去完成,难度等级为yi. 小Q拥有n ...
- 腾讯2019秋招笔试真题
1.小Q爬塔 描述:小Q正在攀登一座宝塔,这座塔很特别,塔总共有n曾层,但是没两层之间的净高却不相同,所以造成了小Q爬过每层的时间也不同.如果某一层的高度为x,那么爬过这一层锁需的还是件也是x.小Q孩 ...
- 腾讯2019秋招笔试真题 1.小Q爬塔 2.妞妞的问题
1.小Q爬塔 [问题描述]小Q正在攀爬一座宝塔,这座宝塔很特别,塔总共有n层,但是两层之间的净高却不相同,所以造成小Q爬过每层的时间也不同.如果某一次高度为x,那么爬过这一层所需时间也就是x.小Q还会 ...
- 【笔试题】京东2017秋招笔试真题
笔试题 京东2017秋招笔试真题 1.进制均值 时间限制 C/C++语言 1000MS;其他语言 3000MS 内存限制 C/C++语言 65536KB;其他语言 589824KB 题目描述 尽管是一 ...
- 滴滴出行2017秋招笔试真题-编程题汇总_Java实现
滴滴出行2017秋招笔试真题-编程题汇总_Java实现 注:有的题参考别人的思路,用我最容易理解的代码编的程序,所以可以不能最优的解法,后续我会进行更新,只是一个思路,我的笔记而已,所以不喜勿喷~~~ ...
- 2018深信服拼多多秋招笔试真题
网易互娱 处理条件1: 处理5: 处理3,4的同时处理2: 对最后两个字符处理2. 对第3.4个条件的处理: judgeDengcha(int a,b,c){//对第3个条件的处理: if a,b,c ...
- 2018年网易秋招笔试真题——游历魔法王国
链接:https://www.nowcoder.com/questionTerminal/923b9dacf8544e4e83d5e22f5a0e731a 来源:牛客网 魔法王国一共有n个城市,编号为 ...
最新文章
- python免费入门教程-python小白如何入门,第一步要做什么?(附带免费教程)
- mysql 累计值_mysql 累计值计算
- vue2.0 创建项目
- 服务器系统防火墙例外,Windows Server 2012设置端口例外、防火墙设置方法
- 【巷子】---vue基于mint-ui三级联动---【vue】
- 为应用“瘦身”!给 Android 应用开发者的十个建议(转)
- App Store 扣费 知识产权 备忘
- android 获取图片主色调
- Web后端学习笔记 Flask(7)数据库
- smarty一维数组的引用
- mysql 导入1045错误_解决MyQL数据库中1045错误的方法——Windows系统
- 领域驱动设计的个人理解
- html页面打开前判断session,js判断session过期
- 华为手机序列号前三位_华为手机序列号怎么查询?
- 厦门市大专计算机学校有哪些,2021厦门公办大专学校有哪些 【教育部专科院校名单】...
- winform自定义日历控件
- 烟雨江南暂排第一,第四届橙瓜网络文学奖入围20年十佳奇幻大神
- Chrome浏览器语音自动播放功能
- 20200528 前端开发日报
- java实训报告心得体会,看这一篇就够了!
热门文章
- C++基础学习-33模板全特化、偏特化(局部特化)
- excel 单元格显示公式_如何在单元格中显示公式并在Excel 2013中完全隐藏公式
- gee学习2数据获取、数据筛选、创建地理要素
- 谈谈我做技术经理的经验和教训
- Ubuntu18.04设置截屏快捷方式
- 【chromeEdge不兼容openModalDialog弹出模态窗口window.showModalDialog解决办法】
- QAndroidJniObject::callStaticObjectMethod参数含义
- C语言基础题集(课前:一维数组,二维数组)
- 如果字符串是科学:如123213e21,转化为字符串
- 游戏角色3d建模用什么软件