【注意事项】
1 所有文件名,输入输出名都必须是小写字母;
2 主函数返回值类型必须是int类型,返回值必须是0;
3 保存名称为题目名.cpp 如:relay.cpp
4 运行内存上限50m
Debug->Debugging windows->Examing memory,弹出Memory窗口,即可查看内存
CodeClub一期模拟题
时间:120min
走楼梯
stair.cpp
【问题描述】
一个楼梯有n级,小苏同学从下往上走,一部可以跨一级,也可以跨两级。问:他走到第N级楼梯应该有几种走法?
【输入格式】
一行一个整数n;0<n<=30;
【输出格式】
一行有n个整数,之间用一个空格隔开,表示走到第1级,第2级,....,第n级一共有多少种走法;
【输入样例】
2
【输出样例】
1 2
门口的树
tree.cpp
【题目描述】
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。
由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。
【输入格式】
第一行有两个正整数L(1<=L<=10000) 和 M(1<=M<=100),L代表马路的长度,M代表区域的数目;L与M之间用空格隔开
【输出格式】
一行一个整数,表示马路上剩余的树的数目
【输入样例】
500 3
150 300
100 200
470 471
【输出样例】
298
说明
对于20%的数据,区域之间没有重合的部分;
对于其它的数据,区域之间有重合的情况。
我们可以用1来代表还有树,0代表被砍掉了,先初始化数组都为1(都种上了树),再扫描每个区间并把每个区间的1变为0,最后再扫一遍,若是1,计数器++。
蛇形方阵
snake.cpp
【问题描述】
输入一个正整数n,生成一个n*n的蛇形方阵;
【输入格式】
一行一个正整数n;(1-20)
【输出格式】
共n行,每行n个正整数,每个整数占5行;
【输入样例】
5
【输出样例】
15 7 6 2 1
16 14 8 5 3
22 17 13 9 4
23 21 18 12 10
25 24 20 19 11
超级计算器
computer.cpp
【输入格式】
两行,分别为两个在10^100内的自然数
【输出格式】
他们俩的乘积
【样例】
无
周长问题
zhouchang.cpp
【问题描述】
老李在一块区域的中间放上了N个干草包(1 <= N <= 10,000)。如果我们把这块区域当成一个由 1 x 1方格组成的 100 x 100方格的区域,每个干草包占据一个方格(当然两个干草包不能占据同一个方格)。
他注意到他的干草包形成一个大的连通区域,意味着从一个干草包开始,通过若干步的东南西北四个方向直接到达相邻的干草包,从而可以到达其他任何的干草包。干草包组成的连通区域可能包含“洞”——被干草包完全包围的空区域。
请帮助老李确定由干草包形成的区域的周长。注意,那些“洞”不算在周长里。
【输入格式】
第1行:干草包的数量,N。
第2..1+N行:每行包含一个干草包的位置(x,y),x和y是1 。。100范围内的整型数。(1,1)是区域中左下方的方格,(100,100)是右上方的方格。
【输出格式】
连通区域的周长。
【输入样例】
8
5 3
5 4
8 4
5 5
6 3
7 3
7 4
6 5
输入详情:
连通区域包含的干草包如下图:
XX
X XX
XXX
【输出样例】
14
输出详情:
连通区域的周长为14。这块区域的左侧周长为3。观察到中间的洞没有增加周长的长度。
原文地址:https://www.cnblogs.com/lightworkshopnoi/p/11294645.html