第七届蓝桥杯大赛个人赛(软件类)决赛真题dgw博客

城堡里边什么都没有,只有方形石头铺成的地面。

假设城堡地面是nxn个方格。【如图1.png】所示。

按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走,也不能跳跃。每走到一个新方格,就要向正北方和正西方各射一箭。(城堡的西墙和北墙内各有n个靶子)

同一个方格只允许经过一次。但不必做完所有的方格。

如果只给出靶子上箭的数目,你能推断出骑士的行走路线吗?

有时是可以的,比如图1.png中的例子。

本题的要求就是已知箭靶数字,求骑士的行走路径(测试数据保证路径唯一)

输入:第一行一个整数N(0

输出:一行若干个整数,表示骑士路径。

为了方便表示,我们约定每个小格子用一个数字代表,从西北角开始编号:0,1,2,3....比如,图1.png中的方块编号为:

0123456789101112131415

示例:用户输入:424344333

程序应该输出:045123711109131415

资源约定:峰值内存消耗<256MCPU消耗<1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...”的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意:main函数需要返回0注意:只使用ANSIC/ANSIC++标准,不要调用依赖于编译环境或操作系统的特殊函数。注意:所有依赖的函数必须明确地在源文件中#include,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

能够表示为某个整数的平方的数字称为“平方数”比如,25,64虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数。因为平方数的末位只可能是:[0,1,4,5,6,9]这6个数字中的某个。所以,4325435332必然不是平方数。

如果给你一个2位或2位以上的数字,你能根据末位的两位来断定它不是平方数吗?

请计算一下,一个2位以上的平方数的最后两位有多少种可能性?

注意:需要提交的是一个整数,表示2位以上的平方数最后两位的不同情况数。不要填写任何多余内容(比如,说明解释文字等)

1#include23/**4@author:dgw5*/6usingnamespacestd;7typedeflonglongLL;89constintmaxn=1e5;10setst;11intmain()12{13intans=0;14stringstreamss;15//[0,1,4,5,6,9]16for(inti=10;i<100;i++){17inta=i*i;18ss<>s;21ss.clear();22intlen=s.length();23stringp=s.substr(len-2,len);24st.insert(p);25}26cout<

我国古籍很早就记载着

294753618

这是一个三阶幻方。每行每列以及对角线上的数字相加都相等。

下面考虑一个相反的问题。可不可以用1~9的数字填入九宫格。使得:每行每列每个对角线上的数字和都互不相等呢?

这应该能做到。比如:912843756

你的任务是搜索所有的三阶反幻方。并统计出一共有多少种。旋转或镜像算同一种。

比如:912843756

789541632

219348657

旋转或镜像算同一种等都算作同一种情况。

请提交三阶反幻方一共多少种。这是一个整数,不要填写任何多余内容。

1#include23/**4@author:dgw5*/6usingnamespacestd;7typedeflonglongLL;89constintmaxn=1e3;101112intm[10];13intmain()14{1516inta[9]={1,2,3,4,5,6,7,8,9},ans=0;17do{18boolflag=true;19m[0]=a[0]+a[1]+a[2];20m[1]=a[3]+a[4]+a[5];21m[2]=a[6]+a[7]+a[8];22m[3]=a[0]+a[4]+a[8];23m[4]=a[2]+a[4]+a[6];24m[5]=a[0]+a[3]+a[6];25m[6]=a[1]+a[4]+a[7];26m[7]=a[2]+a[5]+a[8];2728for(inti=0;i<8;i++){29for(intj=i+1;j<8;j++){30if(m[i]==m[j]){31flag=false;32break;33}34}35if(!flag){36break;37}38}39if(flag){40ans++;41}42}while(next_permutation(a,a+9));43cout<

某机构举办球票大奖赛。获奖选手有机会赢得若干张球票。

主持人拿出N张卡片(上面写着1~N的数字),打乱顺序,排成一个圆圈。你可以从任意一张卡片开始顺时针数数:1,2,3.....如果数到的数字刚好和卡片上的数字相同,则把该卡片收入囊中,从下一个卡片重新数数。直到再无法收获任何卡片,游戏结束。囊中卡片数字的和就是赢得球票的张数。

比如:卡片排列是:123我们从1号卡开始数,就把1号卡拿走。再从2号卡开始,但数的数字无法与卡片对上,很快数字越来越大,不可能再拿走卡片了。因此这次我们只赢得了1张球票。

还不算太坏!如果我们开始就傻傻地从2或3号卡片数起,那就一张卡片都拿不到了。

如果运气好,卡片排列是213那我们可以顺利拿到所有的卡片!

本题的目标就是:已知顺时针卡片序列。随便你从哪里开始数,求最多能赢多少张球票(就是收入囊中的卡片数字之和)

输入数据:第一行一个整数N(N<100),表示卡片数目第二行N个整数,表示顺时针排列的卡片

输出数据:一行,一个整数,表示最好情况下能赢得多少张球票

比如:用户输入:3123

程序应该输出:1

比如:用户输入:3213

程序应该输出:6

answer:重点在于循环模拟进退位,还要注意打表后环位

1#include23/**4@author:dgw5*/6usingnamespacestd;7typedeflonglongLL;89constintmaxn=1e3;1011intm[maxn],pnum=0;12intinq[maxn];13intn;1415intf()16{intans=0;1718for(inti=0;i=cnt)33{34flag=false;35break;36}37}38if(flag)39break;40intk=start%n;41if(inq[k]==cnt)42{43inq[k]=-1;44re+=cnt;45cnt=1;46}47elseif(inq[k]!=-1)48{49cnt++;50}51start++;52}5354ans=max(ans,re);55}56returnans;57}5859intmain()60{61cin>>n;62for(inti=0;i>m[i];65}6667cout<

小明写了一个有趣的程序,给定一串数字。它可以输出这串数字拼出放大的自己的样子。

比如“2016”会输出为:222220000016666220011620016666662001662001662200166222222200000111166666

请仔细分析代码,填写划线部分缺少的内容。

#include#include#defineZIW8#defineZIH7voidf(intn){charcc[100];inti,j;chardi[][ZIH][ZIW]={{"00000","00","00","00","00","00","00000"},{"1","11","1","1","1","1","1111"},{"22222","22","2","2","2","22","2222222"},{"33333","33","3","3333","3","33","33333"},{"44","44","44","44","44","4444444","4"},{"55555","5","555555","5","5","55","55555"},{"6666","6","666666","66","66","66","66666"},{"7777777","77","7","7","7","7","7"},{"88888","88","88","88888","88","88","88888"},{"99999","99","99","999999","9","99","99999"}};sprintf(cc,"%d",n);for(i=0;i

注意:只提交划线部分缺少的代码,不要添加任何题面已有代码或符号。也不要提交任何说明解释文字等。

1#include2#include3#defineZIW84#defineZIH75voidf(intn)6{7charcc[100];8inti,j;9chardi[][ZIH][ZIW]=10{11{"00000",12"00",13"00",14"00",15"00",16"00",17"00000"},18{"1",19"11",20"1",21"1",22"1",23"1",24"1111"},25{"22222",26"22",27"2",28"2",29"2",30"22",31"2222222"},32{"33333",33"33",34"3",35"3333",36"3",37"33",38"33333"},39{"44",40"44",41"44",42"44",43"44",44"4444444",45"4"},46{"55555",47"5",48"555555",49"5",50"5",51"55",52"55555"},53{"6666",54"6",55"666666",56"66",57"66",58"66",59"66666"},60{"7777777",61"77",62"7",63"7",64"7",65"7",66"7"},67{"88888",68"88",69"88",70"88888",71"88",72"88",73"88888"},74{"99999",75"99",76"99",77"999999",78"9",79"99",80"99999"}};8182sprintf(cc,"%d",n);83//printf("%s",cc[0]);8485for(i=0;i

THE END
1.广厦的主场球票哪个软件买方便CBA浙江雄狮自从杭州体育馆为亚运翻新整改后一直没在现场看球了,现在主场是不是在黄龙,怎么买票,在哪里买?谢谢 https://bbs.hupu.com/623729880.html