求网格中的黑点分布


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

面试题 相关文章推荐
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
Mar 14 面试题
介绍下Java的输入输出流
Jan 22 面试题
Kingsoft金山公司C/C++笔试题
May 10 面试题
利用指针变量实现队列的入队操作
Apr 07 面试题
上海奥佳笔试题面试题
Nov 16 面试题
说一下mysql, oracle等常见数据库的分页实现方案
Sep 29 面试题
Oracle里面常用的数据字典有哪些
Feb 14 面试题
视图的作用
Dec 19 面试题
什么是SCM(软件配置管理)
Aug 16 面试题
sleep()方法和wait()方法的区别是什么
Nov 17 面试题
Weblogic和WebSphere不同特点
May 09 面试题
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
May 02 面试题
用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生成自己的LOG文件
2006/10/09 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
Thinkphp 框架扩展之Widget扩展实现方法分析
2020/04/23 PHP
PHP如何防止用户重复提交表单
2020/12/09 PHP
PHP PDO操作总结
2014/11/17 Javascript
JavaScript实现拖拽网页内元素的方法
2015/04/15 Javascript
JS自定义选项卡函数及用法实例分析
2015/09/02 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
javascript每日必学之继承
2016/02/23 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
python实现simhash算法实例
2014/04/25 Python
跟老齐学Python之Python文档
2014/10/10 Python
python访问系统环境变量的方法
2015/04/29 Python
python+opencv实现阈值分割
2018/12/26 Python
python 内置模块详解
2019/01/01 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
video.js支持m3u8格式直播的实现示例
2020/05/20 HTML / CSS
Java软件工程师综合面试题笔试题
2013/09/08 面试题
人事档案接收函
2014/01/12 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
《桥》教学反思
2014/04/09 职场文书
师范生求职信
2014/06/14 职场文书
教师群众路线心得体会
2014/11/04 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
好好学习保证书
2015/02/26 职场文书
亮剑精神观后感
2015/06/05 职场文书
python3实现常见的排序算法(示例代码)
2021/07/04 Python
Java版 单机五子棋
2022/05/04 Java/Android
Win11怎么解除儿童账号限制?Win11解除微软儿童账号限制方法
2022/07/07 数码科技