求网格中的黑点分布


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

面试题 相关文章推荐
PHP面试题附答案
Nov 28 面试题
Weblogic的布署方式
Aug 23 面试题
一套VC试题
Jan 23 面试题
const char*, char const*, char*const的区别是什么
Jul 09 面试题
Oracle的内存结构(Memory structures)
Jun 10 面试题
Linux如何压缩可执行文件
Mar 27 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
Apr 11 面试题
介绍一下Make? 为什么使用make
Jul 31 面试题
瀑布模型都有哪些优缺点
Jun 23 面试题
J2EE中的容器都包括哪些
Aug 21 面试题
给定一个时间点,希望得到其他时间点
Nov 07 面试题
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
Nov 22 面试题
用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 和 COM
2006/10/09 PHP
php的一些小问题
2010/07/03 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
phpQuery让php处理html代码像jQuery一样方便
2015/01/06 PHP
PHP批量修改文件名称的方法分析
2017/02/27 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
ext中store.load跟store.reload的区别示例介绍
2014/06/17 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
angularJS Provider、factory、service详解及实例代码
2016/09/21 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
Python while 循环使用的简单实例
2016/06/08 Python
Python PIL图片添加字体的例子
2019/08/22 Python
Python 多线程其他属性以及继承Thread类详解
2019/08/28 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
python对XML文件的操作实现代码
2020/03/27 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
实例讲解CSS3中的box-flex弹性盒属性布局
2016/06/09 HTML / CSS
canvas 下载二维码和图片加水印的方法
2018/03/21 HTML / CSS
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
Saucony澳大利亚官网:美国跑鞋品牌,运动鞋中的劳斯莱斯
2018/05/05 全球购物
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
奥地利体育网上商店:Gigasport
2019/10/09 全球购物
文职个人求职信范文
2013/09/23 职场文书
婚纱摄影师求职信
2014/03/07 职场文书
法人授权委托书
2014/04/03 职场文书
前台岗位职责范本
2015/04/16 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记
基于Python实现射击小游戏的制作
2022/04/06 Python
基于Python实现nc批量转tif格式
2022/08/14 Python