叠筐

问题来源:Problem - 2074

问题描述:

问题描述

思路分析:

    思路一:

    我们可以采用跟算法书里面第40页“蛇形填数”一样的思路来完成这道题。

    通过输出样式可以发现,输出的结果就是一个大矩形(假设四个角还在)里面往里缩小套矩形,每个矩形上的所使用的字符是一样的。因此,我们可以先把最外围的矩形填满,再依次往里缩小,填满。

    同时,由于题目里面要求的字符是两种,因此设置一个变量cout来判断完成了的矩形个数,以cout的j奇偶来决定矩形使用的字符。

    我的代码从左上角开始填充,代码中采用四个while来来进行预判:判断是否越界,往下走是否会到达一个已经填充过了的格子,采用“右,下,左,上”这样的轨迹来填充矩阵,直到填不下。

    实现代码如下:

思路一代码

    思路二:

    由输出样式可以看出,输出矩阵以中心为基,向四周扩散(假设四个角存在),是一个中心对称的图形。因此,我们也可以从中心出发,把中心对称的位置填上,以此依次向外扩张。

    实现代码如下:


思路二代码
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Problem - 2074 问题描述: 需要的时候,就把一个个大小差一圈的筐叠上去,使得从上往下看时,边筐...
    劳斯鸡阅读 943评论 0 0
  • 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2074 叠筐 Pr...
    Rimuru1314阅读 422评论 0 0
  • //出自51博客:www.Amanda0928.51.com 第一章 一、选择题 1.B; (typedef ,t...
    Damongggggg阅读 11,400评论 0 1
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,584评论 1 32
  • 前言 2. 实现 Singleton 3. 数组中重复的数字 4. 二维数组中的查找 5. 替换空格 6. 从尾到...
    Observer_____阅读 3,139评论 0 1

友情链接更多精彩内容