文库 其他 电子学会真题

202403 C/C++语言编程等级考试 5级真题

五级 少儿编程真题 C++语言等级考试 电子学会真题 DOCX   10页   下载0   2025-04-16   浏览11   收藏0   点赞0   评分-   6827字   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
202403 C/C++语言编程等级考试 5级真题 第1页
202403 C/C++语言编程等级考试 5级真题 第2页
剩余8页未读, 下载浏览全部
青少年软件编程(C语言)等级考试试卷(五级) 分数:100 题数:4 一、编程题(共4题,共100分) 1. 逃离迷宫 你在一个地下迷宫中找到了宝藏,但是也触发了迷宫机关,导致迷宫将在T分钟后坍塌,为此你需要在T分钟内逃离迷宫,你想知道你能不能逃离迷宫。迷宫是一个边长为m的正方形,其中"S"表示你所在的位置,"E"表示迷宫出口,"."是可以随意走动的区域,"#"是不可穿行的墙壁,每次你可以耗费1分钟在区域间移动(上下左右四个方向)。 时间限制:1000 内存限制:65536 输入 输入包含多组数组,第一行是一个整数K(1 <= K <= 10),表示有K组数据。接下来每组数组包含整数m(2<=m<=10)和整数T,m表示正方形迷宫的边长,T表示坍塌时间。其后是一个m*m的字符矩阵,包含字符"S", "E", "."和"#"。 输出 每组数据输出一行,输出“YES"或者"NO",表示是否可以在坍塌之前逃离(也就是说移动次数是否可以不超过T)。 样例输入 2 4 7 S... ###. .#E. ..#. 3 4 S.. ..# .#E 样例输出 YES NO 试题编号:20240323-5-01 试题类型:编程题 标准答案: 试题难度:一般 试题解析: 展示地址:点击浏览 考生答案: #include <bits/stdc++.h> using namespace std; char map_[12][12]; int x[4]={-1,1,0,0}; int y[4]={0,0,-1,1}; int k,m,t,sign; void dfs(int a,int b,int n){ if(n>t) return; for(int i=0;i<4;i++){ int aa=a+x[i]; int bb=b+y[i]; if(aa>=1&&aa<=m&&bb>=1&&bb<=m){ if(map_[aa][bb]=='.'){ map_[aa][bb]='#'; dfs(aa,bb,n+1); map_[aa][bb]='.'; } else if(map_[aa][bb]=='E'){ sign=1;return; } } } } int main() { int x1,y1; cin>>k; while(k--){ cin>>m>>t; for(int i=1;i<=m;i++) for(int j=1;j<=m;j++){ cin>>map_[i][j]; if(map_[i][j]=='S'){ x1=i;y1=j; } } sign=0; dfs(x1,y1,1); if(sign) cout<<"YES"<<endl; else cout<<"NO"<<endl; } return 0; } 考生得分: 25 是否评分:已评分 评价描述: 2. 密室逃脱 小Y喜欢玩密室逃脱,每次游戏开始时,小Y会进入一个密室,她需要按照顺序解开各个隐藏线索才能成功逃脱密室。小Y非常聪明,解开线索对她来说并不难,但是她有一点懒,她希望在通关过程中移动次数最少。请你帮小Y计算她至少要移动多少次才能成功通关。 密室是m行n列的格子矩阵,小Y从左上角(1,1)进入密室,密室中有三种格子: 墙,以数字0标记 路,以数字1标记 隐藏线索处,以数字( > 1)标记, 代表该线索的难度 小Y需要按照难度递增
202403C语言五级
下载提示

下载及版权说明:6547网文库内容来自网络及各平台公开内容(属于用户上传,不保证正确性,只做参考),旨在帮助同学们学习少儿编程相关知识及内容,仅限内部学习及使用,以分享为主,下载本文档之后请合法使用相关、真题、素材、课件、教程等内容,若内容存在侵权,请进行 举报 及查看 免责声明