2017年蓝桥杯C{A组}赛题.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2017年蓝桥杯C{A组}赛题

1.标题:迷宫X星球的一处迷宫游乐场建在某个小山坡上。它是由10x10相互连通的小房间组成的。房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则:L表示走到左边的房间,R表示走到右边的房间,U表示走到上坡方向的房间,D表示走到下坡方向的房间。X星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。这个游戏也是如此!开始的时候,直升机把100名玩家放入一个个小房间内。玩家一定要按照地上的字母移动。迷宫地图如下:------------UDDLUULRULUURLLLRRRURRUURLDLRDRUDDDDUUUUURUDLLRRUUDURLRLDLRLULLURLLRDURDLULLRDDDUUDDUDUDLLULRDLUURRR------------请你计算一下,最后,有多少玩家会走出迷宫? 而不是在里边兜圈子。请提交该整数,表示走出迷宫的玩家数目,不要填写任何多余的内容。如果你还没明白游戏规则,可以参看一个简化的4x4迷宫的解说图:图1迷宫2.标题:跳蚱蜢有9只盘子,排成1个圆圈。其中8只盘子内装着8只蚱蜢,有一个是空盘。我们把这些蚱蜢顺时针编号为 1~8每只蚱蜢都可以跳到相邻的空盘中,也可以再用点力,越过一个相邻的蚱蜢跳到空盘中。请你计算一下,如果要使得蚱蜢们的队形改为按照逆时针排列,并且保持空盘的位置不变(也就是1-8换位,2-7换位,...),至少要经过多少次跳跃?注意:要求提交的是一个整数,请不要填写任何多余内容或说明文字。图2.跳蚱蜢3.标题:魔方状态二阶魔方就是只有2层的魔方,只由8个小块组成。小明很淘气,他只喜欢3种颜色,所有把家里的二阶魔方重新涂了颜色,如下:前面:橙色右面:绿色上面:黄色左面:绿色下面:橙色后面:黄色请你计算一下,这样的魔方被打乱后,一共有多少种不同的状态。如果两个状态经过魔方的整体旋转后,各个面的颜色都一致,则认为是同一状态。请提交表示状态数的整数,不要填写任何多余内容或说明文字。图3 魔方状态4.标题:方格分割6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同。如图4-1,4-2,4-3:就是可行的分割法。试计算:包括这3种分法在内,一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。请提交该整数,不要填写任何多余的内容或说明文字。图4-1方格分割图4-2方格分割图4-3方格分割5.标题:字母组串由 A,B,C 这3个字母就可以组成许多串。比如:A,AB,ABC,ABA,AACBB ....现在,小明正在思考一个问题:如果每个字母的个数有限定,能组成多少个已知长度的串呢?他请好朋友来帮忙,很快得到了代码,解决方案超级简单,然而最重要的部分却语焉不详。请仔细分析源码,填写划线部分缺少的内容。#include stdio.h// a个A,b个B,c个C 字母,能组成多少个不同的长度为n的串。int f(int a, int b, int c, int n){if(a0 || b0 || c0) return 0;if(n==0) return 1; return ______________________________________ ; // 填空}int main(){printf(%d\n, f(1,1,1,2));printf(%d\n, f(1,2,3,3));return 0;}对于上面的测试数据,小明口算的结果应该是:619注意:只填写划线部分缺少的代码,不要提交任何多余内容或说明性文字。6. 标题:最大公共子串最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。比如:abcdkkk 和 baabcdadabc,可以找到的最长的公共子串是abcd,所以最大公共子串长度为4。下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。请分析该解法的思路,并补全划线部分缺失的代码。#include stdio.h#include string.h#define N 256int f(const char* s1, const char* s2){int a[N][N];int len1 = strlen(s1);int len2 = strlen(s2);inti,j;memset(a,0,sizeof(int)*N*N);int max = 0;for(i=1; i=len1; i++){for(j=1; j=len2; j++){if(s1[i-1]==s2[j-1]) {a[i][j] = __________________________; //填空if(a[i][j] max) max = a[i][j];}}}return max;}int main(){printf

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档