LeetCode LCP 22. 黑白方格画
文章目录
- 1. 题目
- 2. 解题
1. 题目
小扣注意到秋日市集上有一个创作黑白方格画的摊位。
摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动。
画板上有 n * n
的网格。绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑色,所选行数、列数均可为 0。
小扣希望最终的成品上需要有 k 个黑色格子,请返回小扣共有多少种涂色方案。
注意:两个方案中任意一个相同位置的格子颜色不同,就视为不同的方案。
示例 1:
输入:n = 2, k = 2
输出:4
解释:一共有四种不同的方案:
第一种方案:涂第一列;
第二种方案:涂第二列;
第三种方案:涂第一行;
第四种方案:涂第二行。示例 2:
输入:n = 2, k = 1
输出:0
解释:不可行,因为第一次涂色至少会涂两个黑格。示例 3:
输入:n = 2, k = 4
输出:1
解释:共有 2*2=4 个格子,仅有一种涂色方案。限制:
1 <= n <= 6
0 <= k <= n * n
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/ccw6C7
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
class Solution {public:int paintingPlan(int n, int k) {int x, y, ans = 0;if(n*n == k) return 1;//肯定只有一种方案for(x = 0; x <= n; ++x) {for(y = 0; y <= n; ++y){if((x+y)*n-x*y == k){ans += C(n,x)*C(n,y);//两个方向的组合数相乘}}}return ans;}int C(int n, int x){int up = 1, t = x, down = 1;while(t--){up *= n--;down *= x--;}return up/down;}
};
0 ms 5.9 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
LeetCode LCP 22. 黑白方格画相关推荐
- LCP 22. 黑白方格画(排列组合)
黑白方格画 题目:小扣注意到秋日市集上有一个创作黑白方格画的摊位.摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动.画板上有 n * n 的网格.绘画规则为,小扣可以选择任意多行以及任意多列的 ...
- LCP 22.黑白方格画
文章目录 题目简述 题解示例 数据范围 标记难度 问题解析 python3代码 C语言代码 C++代码(Copy) 大佬专属代码 凉梦空间 题目简述 小扣注意到秋日市集上有一个创作黑白方格画的摊位.摊 ...
- 黑白方格画C++解答
LCP 22. 黑白方格画C++解答 使用C++进行解答,虽然是简单难度的题,但自己做的时候也忽略了一些可能性,特此记录一下 当然在代码规范和代码效率上和题解上的大佬们比不了 下面是 代码. clas ...
- leetcode黑白方格画
leetcode黑白方格画 题目截图: 题目限制: 示例 1: 输入:n = 2, k = 2 输出:4 解释:一共有四种不同的方案: 第一种方案:涂第一列: 第二种方案:涂第二列: 第三种方案:涂第 ...
- LeetCode.黑白方格画
题目: 小扣注意到秋日市集上有一个创作黑白方格画的摊位.摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动.画板上有 n * n 的网格.绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑 ...
- leetcode 1. 黑白方格画
小扣注意到秋日市集上有一个创作黑白方格画的摊位.摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动.画板上有 n * n 的网格.绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑色,所选 ...
- #每日一题 力扣第22题 黑白格子画
今天同样是一道双变量的题目,通过行数和列树来控制总的黑色格子数. 小扣注意到秋日市集上有一个创作黑白方格画的摊位.摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动.画板上有 n * n 的网格 ...
- 1943中途岛海战2020年8月22日海龟画图版(原雷电模拟升级版)
主程序源代码: """1943中途岛海战2020年8月22日.py这是重新编程的用纯粹的Python海龟模块制作的一个飞机大战游戏.老版本就叫雷电模拟.在游戏中用鼠标操作 ...
- ⭐算法入门⭐《二分枚举》简单15 —— LeetCode LCP 18. 早餐组合
文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述 小扣在秋日市集选择了一 ...
最新文章
- MPB:中科院生态环境中心邓晔组-从环境样本中提取高质量DNA-研磨加DNeasy试剂盒方法...
- HDLC和 PPP的实验
- js rsa验签_js rsa sign使用笔记(加密,解密,签名,验签)
- 强化学习扫盲贴:从Q-learning到DQN
- mysql转移数增删改查_MySql CURD操作(数据的增删改查)
- 从入门到入土:[linux实践]-pam|编写基于libpam的用户认证程序|编写基于PAM认证的应用程序|详细说明|实验步骤|实验截图
- atitit.插件体系设计总结o73.doc
- 神经网络与深度学习第4章:前馈神经网络 阅读提问
- 把华为OLT主控设置为上联的方法
- sever企业版密钥 sql_SQL Server 2012 开发版/企业版/标准版/Web版序列号密钥
- Python进行UDP编程
- 分享一些我常用的编程字体
- CentOS 7下载及安装教程
- jQuery中点击按钮创建表格
- Python爬虫基础:验证码概述及打码平台
- html网页中图片展示为碎片,基于HTML代码实现图片碎片化加载功能
- 模糊二维码识别、残缺二维码识别、快速二维码识别
- 解决安卓CPU使用率过高问题
- TestCenter测试管理工具功能详解六(K)
- 企业IT咨询和信息化规划方法
热门文章
- 串口操作之API篇 CreateFile
- 群晖docker安装cms_Nas码农篇:群晖Docker安装Gitlab
- invalid floating point operation什么意思_Point-MVSNet:基于多视角的点云重建网络
- Python开课复习10
- [转载]我的WafBypass之道(upload篇)
- 新手入坑 java的开发语言环境
- Tyvj 1176 火焰巨魔的惆怅
- 【原创】Java实现手机号码归属地查询
- Linux根目录详解-转自鸟哥的私房菜
- Visual studio 2012 ultimate 安装遇到 Prerequisites , 错误的函数 incorrect function