求网格中的黑点分布


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

面试题 相关文章推荐
构造方法和其他方法的区别?怎么调用父类的构造方法
Sep 22 面试题
关于Java String的一道面试题
Sep 29 面试题
将n个数按输入顺序的逆序排列,用函数实现
Nov 14 面试题
描述内存分配方式以及它们的区别
Oct 15 面试题
几道数据库的面试题或笔试题
May 31 面试题
一篇.NET面试题
Sep 29 面试题
CSMA/CD介质访问控制协议
Nov 17 面试题
什么叫做SQL注入,如何防止
Oct 04 面试题
C#中有没有静态构造函数,如果有是做什么用的?
Jun 04 面试题
一些Unix笔试题和面试题
Sep 25 面试题
怎样声明一个匿名的内部类
Jun 01 面试题
Delphi软件工程师试题
Jan 29 面试题
用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
德生9700DX电路分析
2021/03/02 无线电
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python执行等待程序直到第二天零点的方法
2015/04/23 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
2020/02/18 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
给物业的表扬信
2014/01/21 职场文书
幼儿园中班上学期评语
2014/04/18 职场文书
世界气象日活动总结
2015/02/27 职场文书
军训个人总结
2015/03/03 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL