求网格中的黑点分布


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

面试题 相关文章推荐
经典C++面试题一
Nov 06 面试题
"引用"与指针的区别是什么
Sep 07 面试题
深圳-东方伟业笔试部分
Feb 11 面试题
网络安全方面的面试题
Jan 07 面试题
网上常见的一份Linux面试题(多项选择部分)
Sep 09 面试题
如果让你测试一台高速激光打印机,你都会进行哪些测试
Dec 04 面试题
软件测试常见笔试题
Feb 04 面试题
Final类有什么特点
Apr 25 面试题
代码中finally中的代码会不会执行
Feb 06 面试题
abstract class和interface有什么区别
Aug 04 面试题
Servlet如何得到客户端机器的信息
Oct 17 面试题
什么是servlet链?
Jul 13 面试题
用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的性能
2013/10/30 PHP
php字符串过滤与替换小结
2015/01/26 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
React组件的三种写法总结
2017/01/12 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
基于python图像处理API的使用示例
2020/04/03 Python
Django中FilePathField字段的用法
2020/05/21 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
销售所有的狗狗产品:Dog.com
2016/10/13 全球购物
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
高级运动鞋:GREATS
2019/07/19 全球购物
新浪网技术部笔试题
2016/08/26 面试题
初中数学教学反思
2014/01/16 职场文书
公司活动邀请函
2014/01/24 职场文书
超市创业计划书
2014/04/24 职场文书
销售顾问工作计划书
2014/08/15 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
付款承诺函范文
2015/01/21 职场文书
大学生实习证明
2015/06/16 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书