文库 真题 C++真题

2023年3月电子学会C语言编程等级考试七级真题试卷

少儿编程题库 C语言编程真题 电子学会真题 DOCX   9页   下载0   2024-06-26   浏览164   收藏0   点赞0   评分-   6164字   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
2023年3月电子学会C语言编程等级考试七级真题试卷 第1页
2023年3月电子学会C语言编程等级考试七级真题试卷 第2页
剩余7页未读, 下载浏览全部
青少年软件编程(C语言)等级考试试卷(七级) 分数:100 题数:4 一、编程题(共4题,共100分) 1. 走出迷宫 当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单。 假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路。 时间限制:1000 内存限制:65536 输入 第一行是两个整数n和m(1<=n,m<=100),表示迷宫的行数和列数。 接下来n行,每行一个长为m的字符串,表示整个迷宫的布局。字符'.'表示空地,'#'表示墙,'S'表示起点,'T'表示出口。 输出 输出从起点到出口最少需要走的步数。 样例输入 3 3 S#T .#. ... 样例输出 6 试题编号:20230318-7-01 试题类型:编程题 标准答案: 试题难度:一般 试题解析: 展示地址:点击浏览 考生答案:(此题已作答) 考生得分:25 是否评分:已评分 评价描述: 考生答案: #include <bits/stdc++.h> using namespace std; int n,m,p[10008],q[10008],ans[108][108],qx,qy,zx,zy; char a[108][108]; int xx[5]= {0,1,-1,0,0}; int yy[5]= {0,0,0,1,-1}; void bfs() { a[qx][qy]='#'; ans[qx][qy]=0; int head=1; int tail=1; p[1]=qx; q[1]=qy; while(head<=tail) { for(int i=1; i<=4; i++) { int h=p[head]+xx[i]; int l=q[head]+yy[i]; if(a[h][l]!='#'&&h>=1&&l>=1&&h<=n&&l<=m) { a[h][l]='#'; tail++; p[tail]=h; q[tail]=l; ans[h][l]=ans[p[head]][q[head]]+1; if(h==zx&&l==zy) { cout<<ans[h][l]<<endl; return ; } } } head++; } } int main() { cin>>n>>m; for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { cin>>a[i][j]; if(a[i][j]=='S') { qx=i; qy=j; } if(a[i][j]=='T') { zx=i; zy=j; } } } bfs(); return 0; } 2. 拯救公主 多灾多难的公主又被大魔王抓走啦!国王派遣了第一勇士阿福去拯救她。     身为超级厉害的术士,同时也是阿福的好伙伴,你决定祝他一臂之力。你为阿福提供了一张大魔王根据地的地图,上面标记了阿福和公主所在的位置,以及一些不能够踏入的禁区。你还贴心地为阿福制造了一些传送门,通过一个传送门可以瞬间转移到任意一个传送门,当然阿福也可以选择不通过传送门瞬移。传送门的位置也被标记在了地图上。此外,你还查探到公主所在的地方被设下了结界,需要集齐 K 种宝石才能打开。当然,你在地图上也标记出了不同宝石所在的位置。     你希望阿福能够带着公主早日凯旋。于是在阿福出发之前
202303 C语言7级,2023年3月电子学会C语言编程等级考试七级真题试卷,少儿编程题库,C语言编程真题,电子学会真题
下载提示

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