- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
青少年软件编程(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(0m+n=20),代表方格矩阵的行数和列数,m、n之间用空格隔开
输出
输出只有一行,为不同的移动路线的数目。
样例输入
23
样例输出
3
答案#includeiostream
#includecstdio
usingnamespacestd;
constintN=40;
constintdx[2]={0,1};
博学佑航-青少年考级竞赛题库
constintdy[2]={1,0};
intn,m,ans=0;
boolflag=false;
structnode{
intx;
inty;
}st[N*N],tu[N*N][N*N];
inta[N*N];
boolran_out(intx,inty){
returnx1||xn||y1||ym;
}
voidfuzhi(intstep){
ans++;
a[ans]=step;
flag=true;
for(inti=0;i=step;i++){
tu[ans][i].x=st[i].x;
tu[ans][i].y=st[i].y;
}
}
voiddfs(intx,inty,intstep){
st[step].x=x;
st[step].y=y;
if(x==ny==m){
fuzhi(step);
return;
}
for(inti=0;i2;i++){
intxx=x+dx[i];
intyy=y+dy[i];
if(!ran_out(xx,yy)){
dfs(xx,yy,step+1);
}
}
}
intmain(){
std::ios::sync_with_stdio(fal
文档评论(0)