离散数学第6版25页41题
本文章来自于博客园,其他地方出处可能是本人的日志同步
1 #include <stdio.h>
2 #include <stdlib.h> 3 4 #define ROWS 17 5 #define COLS 17 6 7 char flag = 'a'; 8 char array[ROWS][COLS]; 9 int c_row, c_col; 10 int solution(int B_row, int B_col, 11 int row, int col, 12 int i_row, int i_col); 13 14 int main(int argc, char *argv[]) 15 { 16 int row, col; 17 18 for(row = 1; row < ROWS; row++) 19 for(col = 1; col < COLS; col++) 20 array[row][col] = '0'; 21 22 scanf("%d,%d", &c_row, &c_col); 23 array[c_row][c_col] = '*'; 24 25 solution(1, 1, ROWS-1, COLS-1, c_row, c_col); 26 27 for(row = 1; row < ROWS; row++){ 28 for(col = 1; col < COLS; col++){ 29 printf("%5c", array[row][col]); 30 } 31 printf("\n"); 32 } 33 return 0; 34 } 35 36 int solution(int B_row, int B_col, 37 int row, int col, 38 int i_row, int i_col) 39 { 40 if (B_row+1 == row && B_col+1 == col){ 41 int i,j; 42 for(i = B_row; i <= row; i++ ) 43 for(j = B_col; j <= col; j++ ) 44 if(array[i][j] == '0'){ 45 array[i][j] = flag; 46 } 47 }else{ 48 if(i_row <= (B_row+row)/2){ 49 array[(B_row+row)/2+1][(B_col+col)/2] = flag; 50 array[(B_row+row)/2+1][(B_col+col)/2+1] = flag; 51 if(i_col<=(B_col+col)/2){ 52 array[(B_row+row)/2][(B_col+col)/2+1] = flag; /* 左上 */ 53 flag++; 54 solution(B_row, B_col, 55 (B_row+row)/2, (B_col+col)/2, 56 c_row, c_col); /* 左上 */ 57 flag++; 58 solution((B_row+row)/2+1, (B_col+col)/2+1, 59 row, col, 60 (B_row+row)/2+1, (B_col+col)/2+1); /* 右下 */ 61 flag++; 62 solution(B_row, (B_col+col)/2+1, 63 (B_row+row)/2, col, 64 (B_row+row)/2, (B_col+col)/2+1); /* 右上 */ 65 flag++; 66 solution((B_row+row)/2+1, B_col, 67 row, (B_col+col)/2, 68 (B_row+row)/2+1, col/2); /* 左下 */ 69 }else{ 70 array[(B_row+row)/2][(B_col+col)/2] = flag; /* 右上 */ 71 flag++; 72 solution(B_row, (B_col+col)/2+1, 73 (B_row+row)/2, col, 74 c_row, c_col); /* 右上 */ 75 76 flag++; 77 solution((B_row+row)/2+1, (B_col+col)/2+1, 78 row, col, 79 (B_row+row)/2+1, (B_col+col)/2+1); /* 右下 */ 80 flag++; 81 solution((B_row+row)/2+1, B_col, 82 row, (B_col+col)/2, 83 (B_row+row)/2+1, col/2); /* 左下 */ 84 flag++; 85 solution(B_row, B_col, 86 (B_row+row)/2, (B_col+col)/2, 87 row, col); /* 左上 */ 88 } 89 }else{ 90 array[(B_row+row)/2][(B_col+col)/2] = flag; 91 array[(B_row+row)/2][(B_col+col)/2+1] = flag; 92 if(i_col <= (B_col+col)/2){ /* 左下 */ 93 array[(B_row+row)/2+1][(B_col+col)/2+1] = flag; 94 flag++; 95 solution((B_row+row)/2+1, B_col, 96 row, (B_col+col)/2, 97 c_row, c_col); /* 左下 */ 98 99 flag++;100 solution((B_row+row)/2+1, (B_col+col)/2+1,101 row, col,102 (B_row+row)/2+1, (B_col+col)/2+1); /* 右下 */103 flag++;104 solution(B_row, B_col,105 (B_row+row)/2, (B_col+col)/2,106 row, col); /* 左上 */107 flag++;108 solution(B_row, (B_col+col)/2+1,109 (B_row+row)/2, col,110 (B_row+row)/2, (B_col+col)/2+1); /* 右上 */111 } else {112 array[(B_row+row)/2+1][(B_col+col)/2] = flag; /* 右下 */113 flag++;114 solution((B_row+row)/2+1, (B_col+col)/2+1,115 row, col,116 c_row, c_col); /* 右下 注意:是原始的缺口 */117 118 flag++;119 solution(B_row, B_col,120 (B_row+row)/2, (B_col+col)/2,121 row, col); /* 左上 */122 flag++;123 solution(B_row, (B_col+col)/2+1,124 (B_row+row)/2, col,125 (B_row+row)/2, (B_col+col)/2+1); /* 右上 */126 flag++;127 solution((B_row+row)/2+1, B_col,128 row, (B_col+col)/2,129 (B_row+row)/2+1, col/2); /* 左下 */130 }131 }132 }133 return 0;134 }
转载于:https://www.cnblogs.com/samael/articles/2174222.html
离散数学第6版25页41题相关推荐
- swagger内部类_震惊!25分类227页1000+题50w+字的绝版“java高分面试指南”现世!...
一次偶然,从朋友那里得到一份"java高分面试指南",里面涵盖了25个分类的面试题以及详细的解析:JavaOOP.Java集合/泛型.Java中的IO与NIO.Java反射.Jav ...
- 2020PMP(第六版)每日三题
PMP12月份考试已经顺利通过,这里将平时积累的每日三题发出来供大家分享:(结尾分享一点考试心得体会) 一.题目部分: 2020.9.27 三题: 1.项目是: A. 一组持续的活动中执行的一个过程或 ...
- 【第41题】【062题库】2019年OCP认证062考试新题
41题.choose one Examine the details of the uncompressed, non-partitioned heap table CITIES. Name ...
- 剑指offer第41题 和为s的两个数
剑指offer第41题 和为s的两个数 #include<iostream> using namespace std;bool sumk(int*list,int length,int*n ...
- mooc数据结构与算法python版期末考试_数据结构与算法Python版-中国大学mooc-试题题目及答案...
数据结构与算法Python版-中国大学mooc-试题题目及答案 更多相关问题 婴儿出生一两天后就有笑的反应,这种笑的反应属于(). [判断题]填制原始凭证,汉字大写金额数字一律用正楷或草书书写,汉字大 ...
- 二叉树的应用 表达式处理_【每日编程208期】2018年408应用题41题
每日编程中遇到任何疑问.意见.建议请公众号留言或直接撩Q474356284(备注每日编程) 今日问题:2018年408应用题41题 给定一个含n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算 ...
- 重磅:服务器基础知识全解终极版(145页PPT)
重磅:服务器基础知识全解终极版(145页PPT) 2020-12-26 阅 1 转 19 终极版来啦,本文内容共145页PPT干货,针对历史发布内容在CPU.内存.GPU.硬盘.网卡等9个章节做 ...
- 【安全知识分享】PPTX|典型事故和应急救援案例分析(25页)(附下载)
摘要:典型事故和应急救援案例分析(25页) 公众号:安全生产星球
- vue实现调查问卷一页一题,上一题下一题形式
使用了vant组件的radio 单选框 官网https://youzan.github.io/vant/#/zh-CN/radio 效果图 效果图 做出来的效果图就是上面那样 一页一题 附上代码: & ...
最新文章
- Go 学习笔记(22)— 并发(01)[进程、线程、协程、并发和并行、goroutine 启动、goroutine 特点,runtime 包函数]
- 并查集(压缩路径+按秩排序)
- R创建透视表(Pivot Tables)
- Android之ActivityManagerService详解(APP启动过程)
- (iOS-基本知识)Category VS Extension 原理详解
- 还在跟面试官纠缠redis分布式锁的问题?此图让你吊打面试官
- Windows下程序启动时出现0xc000007b错误的解决方案
- 回溯法——打印子集树
- change element 原始值_change-element
- 前端学习(3100):vue+element今日头条管理-react简介
- 白话地图投影之初识地球
- 一体机的扫描至网络共享的设置
- 一分钟搞懂的算法之BPE算法
- 【Git/Github学习笔记】Git常用命令(版本回退)
- 保研复习整理——信号与系统
- 人人都喜欢用的十大python标准库
- Java库 学习笔记 - POI 在Word文档中查找指定关键字并设置背景色
- adobe flash builder 4.6最新能用的序列号
- LSB图像隐写和峰值信噪比计算的python实现
- JavaCV人脸识别三部曲之一:视频中的人脸保存为图片
热门文章
- 怎么更改计算机开机用户名和密码,小编详解怎么修改电脑开机密码
- php开发环境搭建和基础入门
- 骏马淘金~~网赚不走弯路
- C++的STL中accumulate的用法
- 引导路径动画 (1)
- 用计算机表达爱意,“我爱你”用古语表达,句句蕴含爱意,网友:真是表白“利器”...
- 人活着系列之芳姐和她的猪
- 问世到现在电子计算机的性能,一级计算机练习.doc
- 模电知识体系总结-1.1半导体基础器件
- .net之EF框架学习