求网格中的黑点分布


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

面试题 相关文章推荐
Yahoo-PHP面试题1
Jul 20 面试题
Android面试宝典
Aug 06 面试题
介绍一下Transact-SQL中SPACE函数的用法
Sep 01 面试题
北京天润融通.net面试题笔试题
Feb 20 面试题
介绍一下.NET构架下remoting和webservice
May 08 面试题
非常详细的C#面试题集
Jul 13 面试题
internal修饰符起什么作用
Dec 16 面试题
Linux不知道文件后缀名怎么判断文件类型
Aug 21 面试题
远程调用的原理
Jul 05 面试题
腾讯公司的一个sql题
Jan 22 面试题
如何唤起类中的一个方法
Nov 29 面试题
线程同步的方法
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
下载文件的点击数回填
2006/10/09 PHP
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
事件绑定之小测试  onclick && addEventListener
2011/07/31 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
关于ExtJS4.1:快捷键支持的问题
2013/04/24 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
python使用cookielib库示例分享
2014/03/03 Python
Python常用随机数与随机字符串方法实例
2015/04/09 Python
python+django快速实现文件上传
2016/10/24 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
2014年城市管理工作总结
2014/12/02 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
Python如何用re模块实现简易tokenizer
2022/05/02 Python