求网格中的黑点分布


Posted in 面试题 onNovember 06, 2013
求网格中的黑点分布。现有6*7的网格,在某些格子中有黑点,已知各行与各列中有黑点的点数之和,请在这张网格中画出黑点的位置。(这是一网友提出的题目,说是他笔试时遇到算法题)
#define ROWS 6
#define COLS 7
int iPointsR[ROWS] = {2, 0, 4, 3, 4, 0}; // 各行黑点数和的情况
int iPointsC[COLS] = {4, 1, 2, 2, 1, 2, 1}; // 各列黑点数和的情况
int iCount, iFound;
int iSumR[ROWS], iSumC[COLS], Grid[ROWS][COLS];

int Set(int iRowNo) {
if(iRowNo == ROWS) {
for(int iColNo=0; iColNo if(iColNo == COLS-1) {
printf(“\nNo.%d:\n”, ++iCount);
for(int i=0; i for(int j=0; j printf(“%d%c”, Grid[i][j], (j+1) % COLS ? ‘ ‘ : ‘\n’);
iFound = 1; // iFound = 1,有解
}
} else {
for(int iColNo=0; iColNo if(iPointsR[iRowNo] == 0) {
Set(iRowNo + 1);
} else if(Grid[iRowNo][iColNo]==0) {
Grid[iRowNo][iColNo] = 1;
iSumR[iRowNo]++; iSumC[iColNo]++; if(iSumR[iRowNo] Set(iRowNo);
else if(iSumR[iRowNo]==iPointsR[iRowNo] && iRowNo Set(iRowNo + 1);
Grid[iRowNo][iColNo] = 0;
iSumR[iRowNo]–;
iSumC[iColNo]–;
}
}
}
return iFound; // 用于判断是否有解
}
int main(int argc, char* argv[]) {
if(!Set(0))
printf(“Failure!”);
}

Tags in this post...

面试题 相关文章推荐
JRE、JDK、JVM之间的关系怎样
May 16 面试题
杭州SQL浙江浙大网新恩普软件有限公司
Jul 27 面试题
广州品高软件.net笔面试题目
Apr 18 面试题
.NET里面如何取得当前的屏幕分辨率
Dec 06 面试题
什么是网络协议
Apr 07 面试题
简述网络文件系统NFS,并说明其作用
Oct 19 面试题
C#和SQL Server的面试题
Aug 12 面试题
介绍一下write命令
Sep 24 面试题
50道外企软件测试面试题
Aug 18 面试题
介绍一下Python中webbrowser的用法
May 07 面试题
Java程序员综合测试题
Apr 25 面试题
北京捷通华声语音技术有限公司Java软件工程师笔试题
Apr 10 面试题
用C语言实现文件读写操作
Oct 27 #面试题
网络、C以及其他硬件方面的面试题
Aug 23 #面试题
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
Jan 18 #面试题
编写用C语言实现的求n阶阶乘问题的递归算法
Oct 21 #面试题
C语言笔试题回忆
Apr 02 #面试题
寻找迷宫的一条出路,o通路;X:障碍
Jul 10 #面试题
外企C语言笔试题
Nov 10 #面试题
You might like
php中JSON的使用与转换
2015/01/14 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
node.js中的fs.ftruncate方法使用说明
2014/12/15 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
jQuery基于正则表达式的表单验证功能示例
2017/01/21 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
python字符串替换示例
2014/04/24 Python
Python机器学习之决策树算法
2017/12/22 Python
浅谈flask中的before_request与after_request
2018/01/20 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
青年教师典范事迹材料
2014/01/31 职场文书
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
行政人事专员岗位职责
2014/03/05 职场文书
党员个人整改措施
2014/10/24 职场文书
学期个人自我总结
2015/02/13 职场文书
党员干部学习心得体会
2016/01/23 职场文书
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL