蓝桥杯软件类竞赛 │ 手算题攻略( 二 )


01.
迷宫
题目来源:2017年度C++ A组 , 试题1: 迷宫
题目描述:给出一个迷宫 , 问迷宫内的人有多少能走出来 。
迷宫如下:其中L表示向左走 , R表示向右走 , U表示向上走 , D表示向下走 。
UDDLUULRUL
UURLLLRRRU
RRUURLDLRD
RUDDDDUUUU
URUDLLRRUU
DURLRLDLRL
ULLURLLRDU
RDLULLRDDD
UUDDUDUDLL
ULRDLUURRR
这道题是典型的DFS , 编码至少10分钟 。 不过因为是个填空题 , 而且迷宫很简单 , 只有100个字符 , 可以直接数 , 从左往右数 , 从上往下数 , 约2分钟就能数完 。 数出来的结果见下面 , 红色字符上的人能走出来 。
蓝桥杯软件类竞赛 │ 手算题攻略
本文插图
02.
题目描述:七段数码管 , 一共有7个发光二极管 , 问能表示多少种不同的字符 , 要求发光的二极管是相连的 。
蓝桥杯软件类竞赛 │ 手算题攻略
本文插图
题目要求发光的二极管是相连的 , 可以用DFS或并查集查找连通块 , 编码时间15分钟以上 。 不过 , 因为图形简单 , 直接手算也行 , 约3-5分钟 。
用字符表示数码管不太方便 , 改用数字:
蓝桥杯软件类竞赛 │ 手算题攻略
本文插图
分7种情况:
亮一个灯:有7种情况 , 1、2、3、4、5、6、7;
亮两个灯:有12、13、23、24、25、…等等;
亮三个灯:有123、124、125、134、136、234、257…等等;
亮四个灯 , 这时不要直接数四个灯 , 情况与灭三个灯是等价的:灭123、灭124…等等;
亮五个灯 , 与灭两个灯等价:灭12、灭13、灭14、…等等;
亮六个灯 , 与灭一个灯等价 , 有7种情况;
亮七个灯 , 有1种情况 。
对以上所有情况求和 。
03
巧用Excel
01.
数字计算
题目来源:2018年度C++ A组 , 试题1: 分数
题目描述:1/1 + 1/2 + 1/4 + 1/8 + 1/16 + …每项是前一项的一半 , 如果一共有20项,求这个和是多少 , 结果用分数表示出来 。
编码很简单 , 几分钟就好 。 也可以用Excel手算 , 时间差不多 , 而且不用思考 。
A列填分子 , 都是1;B列填分母 , 每行递增2倍 , 做法是 , 在B1填1 , 在B2填写“=B1*2” , 然后按住B2往下拉到第20行 , 就填好了所有的分母 。
然后通分求分子分母 。 分母就是B20的524288 , 分子实际上就是“SUM(B1:B20)” , 用鼠标选中这个区域 , Excel自动算出1048575 。
蓝桥杯软件类竞赛 │ 手算题攻略
本文插图
02.
日期问题
题目来源:2018年度C++ A组 , 试题2: 星期一