admin管理员组文章数量:1567522
2024年6月29日发(作者:)
青少年软件编程(C语言四级)等级考试真题试卷(2021年12月)
题目总数:4 总分数:100 时间:不限时
第 1 题 问答题
移动路线
桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次
递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。
小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。小
明把这只蚂蚁放在左下角的方格中,蚂蚁从左下角的方格中移动到右上角的方格中,每步移动一个方格。蚂蚁
始终在方格矩阵内移动,请计算出不同的移动路线的数目。
对于1行1列的方格矩阵,蚂蚁原地移动,移动路线数为1;对于1行2列(或2行1列)的方格矩阵,蚂蚁只需一
次向右(或向上)移动,移动路线数也为1……对于一个2行3列的方格矩阵,如下图所示:
-------------------
|(2,1)|(2,2)|(2,3)|
-------------------
|(1,1)|(1,2)|(1,3)|
-------------------
蚂蚁共有3种移动路线:
路线1:(1,1) → (1,2) → (1,3) → (2,3)
路线2:(1,1) → (1,2) → (2,2) → (2,3)
路线3:(1,1) → (2,1) → (2,2) → (2,3)
时间限制:1000
内存限制:65536
输入
输入只有一行,包括两个整数m和n(0 输出 输出只有一行,为不同的移动路线的数目。 样例输入 2 3 样例输出 3 答案 #include #include using namespace std; const int N=40; const int dx[2]={0,1}; 博学佑航-青少年考级竞赛题库 const int dy[2]={1,0}; int n,m,ans=0; bool flag=false; struct node{ int x; int y; }st[N*N],tu[N*N][N*N]; int a[N*N]; bool ran_out(int x,int y){ } void fuzhi(int step){ ans++; a[ans]=step; return x<1||x>n||y<1||y>m; flag=true; } void dfs(int x,int y,int step){ } int main(){ std::ios::sync_with_stdio(false); cin>>n>>m; dfs(1,1,0); p st[step].x=x; st[step].y=y; if(x==n&&y==m){ } for(int i=0;i<2;i++){ } int xx=x+dx[i]; int yy=y+dy[i]; if(!ran_out(xx,yy)){ } dfs(xx,yy,step+1); fuzhi(step); return; for(int i=0;i<=step;i++){ } tu[ans][i].x=st[i].x; tu[ans][i].y=st[i].y; 第 2 题 问答题 博学佑航-青少年考级竞赛题库 移动办公 假设你经营着一家公司,公司在北京和南京各有一个办公地点。公司只有你一个人,所以你只能每月选择在一 个城市办公。在第i个月,如果你在北京办公,你能获得Pi的营业额,如果你在南京办公,你能获得Ni的营业 额。但是,如果你某个月在一个城市办公,下个月在另一个城市办公,你需要支付M的交通费。那么,该怎样 规划你的行程(可在任何一个城市开始),才能使得总收入(总营业额减去总交通费)最大? 时间限制:1000 内存限制:65536 输入 输入的第一行有两个整数T(1 <= T <= 100)和M(1 <= M <= 100),T代表总共的月数,M代表交通费。接 下来的T行每行包括两个在1到100之间(包括1和100)的的整数,分别表示某个月在北京和在南京办公获得的 营业额。 输出 输出只包括一行,这一行只包含一个整数,表示可以获得的最大总收入。 样例输入 4 3 10 9 2 8 9 5 8 2 样例输出 31 答案 #include #include #include using namespace std; int main(){ for(int i=n-2;i>=0;i--){ } cout< d[i][1]=d[i][1]+max(d[i+1][0]-m,d[i+1][1]); d[i][0]=d[i][0]+max(d[i+1][0],d[i+1][1]-m); int n;//ÔÂÊý int m;//½»Í¨·Ñ int a,b; cin>>n>>m; int d[n][2]; for(int i=0;i } cin>>d[i][0]>>d[i][1]; 博学佑航-青少年考级竞赛题库
版权声明:本文标题:青少年软件编程(C语言四级)等级考试真题试卷(2021年12月)-附答案 内容由热心网友自发贡献,该文观点仅代表作者本人,
转载请联系作者并注明出处:https://www.elefans.com/dongtai/1719667175a790449.html,
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论