求网格中的黑点分布


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

面试题 相关文章推荐
关键字final的用法
Oct 02 面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 面试题
描述内存分配方式以及它们的区别
Oct 15 面试题
MySQL面试题
Jan 12 面试题
.net软件工程师应聘上机试题
Mar 10 面试题
结构和类有什么异同
Jul 16 面试题
简述网络文件系统NFS,并说明其作用
Oct 19 面试题
linux面试题参考答案(3)
Sep 13 面试题
Python如何实现单例模式
Jun 03 面试题
Python是如何进行类型转换的
Jun 09 面试题
值传递还是引用传递
Feb 08 面试题
IBatis持久层技术
Jul 18 面试题
用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读取PDF内容配合Xpdf的使用
2012/11/24 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
js 函数调用模式小结
2011/12/26 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
2013/05/27 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
2014/06/16 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
Javascript中的默认参数详解
2014/10/22 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
浅谈JavaScript 浏览器对象
2016/06/03 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
Vue.js组件高级特性实例详解
2018/12/24 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
Python常见异常分类与处理方法
2017/06/04 Python
利用python编写一个图片主色转换的脚本
2017/12/07 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
2018/05/28 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
Python模块常用四种安装方式
2020/10/20 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
印度尼西亚在线时尚购物网站:ZALORA印尼
2016/08/02 全球购物
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
英文求职信结束语大全
2013/10/26 职场文书
学校卫生检查制度
2014/02/03 职场文书
汽车检测与维修专业求职信
2014/07/04 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript