文章目录

  • 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. 黑白方格画相关推荐

  1. LCP 22. 黑白方格画(排列组合)

    黑白方格画 题目:小扣注意到秋日市集上有一个创作黑白方格画的摊位.摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动.画板上有 n * n 的网格.绘画规则为,小扣可以选择任意多行以及任意多列的 ...

  2. LCP 22.黑白方格画

    文章目录 题目简述 题解示例 数据范围 标记难度 问题解析 python3代码 C语言代码 C++代码(Copy) 大佬专属代码 凉梦空间 题目简述 小扣注意到秋日市集上有一个创作黑白方格画的摊位.摊 ...

  3. 黑白方格画C++解答

    LCP 22. 黑白方格画C++解答 使用C++进行解答,虽然是简单难度的题,但自己做的时候也忽略了一些可能性,特此记录一下 当然在代码规范和代码效率上和题解上的大佬们比不了 下面是 代码. clas ...

  4. leetcode黑白方格画

    leetcode黑白方格画 题目截图: 题目限制: 示例 1: 输入:n = 2, k = 2 输出:4 解释:一共有四种不同的方案: 第一种方案:涂第一列: 第二种方案:涂第二列: 第三种方案:涂第 ...

  5. LeetCode.黑白方格画

    题目: 小扣注意到秋日市集上有一个创作黑白方格画的摊位.摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动.画板上有 n * n 的网格.绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑 ...

  6. leetcode 1. 黑白方格画

    小扣注意到秋日市集上有一个创作黑白方格画的摊位.摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动.画板上有 n * n 的网格.绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑色,所选 ...

  7. #每日一题 力扣第22题 黑白格子画

    今天同样是一道双变量的题目,通过行数和列树来控制总的黑色格子数. 小扣注意到秋日市集上有一个创作黑白方格画的摊位.摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动.画板上有 n * n 的网格 ...

  8. 1943中途岛海战2020年8月22日海龟画图版(原雷电模拟升级版)

    主程序源代码: """1943中途岛海战2020年8月22日.py这是重新编程的用纯粹的Python海龟模块制作的一个飞机大战游戏.老版本就叫雷电模拟.在游戏中用鼠标操作 ...

  9. ⭐算法入门⭐《二分枚举》简单15 —— LeetCode LCP 18. 早餐组合

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   小扣在秋日市集选择了一 ...

最新文章

  1. MPB:中科院生态环境中心邓晔组-从环境样本中提取高质量DNA-研磨加DNeasy试剂盒方法...
  2. HDLC和 PPP的实验
  3. js rsa验签_js rsa sign使用笔记(加密,解密,签名,验签)
  4. 强化学习扫盲贴:从Q-learning到DQN
  5. mysql转移数增删改查_MySql CURD操作(数据的增删改查)
  6. 从入门到入土:[linux实践]-pam|编写基于libpam的用户认证程序|编写基于PAM认证的应用程序|详细说明|实验步骤|实验截图
  7. atitit.插件体系设计总结o73.doc
  8. 神经网络与深度学习第4章:前馈神经网络 阅读提问
  9. 把华为OLT主控设置为上联的方法
  10. sever企业版密钥 sql_SQL Server 2012 开发版/企业版/标准版/Web版序列号密钥
  11. Python进行UDP编程
  12. 分享一些我常用的编程字体
  13. CentOS 7下载及安装教程
  14. jQuery中点击按钮创建表格
  15. Python爬虫基础:验证码概述及打码平台
  16. html网页中图片展示为碎片,基于HTML代码实现图片碎片化加载功能
  17. 模糊二维码识别、残缺二维码识别、快速二维码识别
  18. 解决安卓CPU使用率过高问题
  19. TestCenter测试管理工具功能详解六(K)
  20. 企业IT咨询和信息化规划方法

热门文章

  1. 串口操作之API篇 CreateFile
  2. 群晖docker安装cms_Nas码农篇:群晖Docker安装Gitlab
  3. invalid floating point operation什么意思_Point-MVSNet:基于多视角的点云重建网络
  4. Python开课复习10
  5. [转载]我的WafBypass之道(upload篇)
  6. 新手入坑 java的开发语言环境
  7. Tyvj 1176 火焰巨魔的惆怅
  8. 【原创】Java实现手机号码归属地查询
  9. Linux根目录详解-转自鸟哥的私房菜
  10. Visual studio 2012 ultimate 安装遇到 Prerequisites , 错误的函数 incorrect function