求网格中的黑点分布


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...

面试题 相关文章推荐
为什么使用接口?
Aug 13 面试题
益模软件Java笔试题
Mar 27 面试题
普天C++笔试题
Mar 20 面试题
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
Sep 05 面试题
将n个数按输入顺序的逆序排列,用函数实现
Nov 14 面试题
你对IPv6了解程度
Feb 09 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
Jan 13 面试题
几个Shell Script面试题
Apr 18 面试题
介绍一下EJB的分类及其各自的功能及应用
Aug 23 面试题
Lucene推荐的分页方式是什么?
Dec 07 面试题
中科前程Java笔试题
Nov 20 面试题
线程同步的方法
Nov 23 面试题
用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数据库密码的找回的步骤
2011/01/12 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
JavaScript this 深入理解
2009/07/30 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
轻松创建nodejs服务器(8):非阻塞是如何实现的
2014/12/18 NodeJs
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
onmouseover事件和onmouseout事件全面理解
2016/08/15 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python 动态获取当前运行的类名和函数名的方法
2014/04/15 Python
由浅入深讲解python中的yield与generator
2017/04/05 Python
python机器学习理论与实战(六)支持向量机
2018/01/19 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
Python中py文件转换成exe可执行文件的方法
2019/06/14 Python
Python 利用高德地图api实现经纬度与地址的批量转换
2019/08/14 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
如何利用find命令查找文件
2015/02/07 面试题
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
淘宝好评语大全
2014/05/05 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
辞职信范文大全
2015/03/02 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
机关单位保密工作责任书
2015/05/11 职场文书
初中体育课教学反思
2016/02/16 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书