1997年第三届全国青少年信息学(计算机)奥林匹克分区联赛普及组复赛试题
一、(30%)
设有一个N*M方格的棋盘(l<=N<=100,1<=M<=100)。
求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。
例如:当 N=2, M=3时:
┌─┬─┬─┐
├─┼─┼─┤
└─┴─┴─┘
正方形的个数有8个:即边长为1的正方形有6个;边长为2的正方形有2个。
长方形的个数有10个;即2*1的长方形有4个;1*2的长方形有3个;3*1的长方形有2个;3*2的长方形有1个。
程序要求:输入:N,M
输出:正方形的个数与长方形的个数
如上例:输入:2 3
输出:8,10
二、(30%)
把1,2,… 9共9个数排成下列形状的三角形:
a
b c
d e
f g h i
其中:a~i分别表示1,2,...9中的一个数字,并要求同时满足下列条件:
(1) a<f<i
(2)b<d, g<h, c<e;
(3)a+b+d+f= f+g+h+i= i+e+c+a=
P
程序要求:根据输入的边长之和P,输出所有满足上述条件的三角形的个数及其中的一种方案。
三、(40%)
设有一个N*M(l<=N<=50,
l<=M<=50)的街道(如图一):
北
5┌─┬─┬─┬─┬─┬─┬─┬─┐(9,5)
│ │ │ │ │ │ │ │ │
4├─┼─┼─┼─┼─┼─┼─┼─┤
│ │*│*│*│*│*│*│ │
西3├─┼─┼─┼─┼─┼─┼─┼─┤
东
│ │*│*│*│*│*│*│ │
2├─┼─┼─┼─┼─┼─┼─┼─┤
│ │ │ │ │ │ │ │ │
1└─┴─┴─┴─┴─┴─┴─┴─┘
A(1,1)1 2 3 4 5 6 7 8 9
南 (图一)
规定行人从A(1,1)出发,在街道上只能向东或北方向行走。
图二为N=3,M=3的街道图,从A出发到达B共有6条可供行走的路径:
A6 A7 B
┌─┬─┐
A3├─┼─┤A5
└─┴─┘
A A1 A2
1. A-A1-A2-A5-B
2. A-A1-A4-A5-B
3. A-A1-A4-A7-B
4. A-A3-A4-A5-B
5. A-A3-A4-A7-B
6. A-A3-A6-A7-B
若在N*M的街道中,设置一个矩形障碍区域(包括围住该区域的的街道)不让行人通行,如图一中用“*”表示的部分。此矩形障碍区域用2对顶点坐标给出,图一中的2对顶点坐标为:(2,2),(8,4),此时从A出发到达B的路径仅有两条。
程序要求
任务一:给出N,M后,求出所有从A出发到达B的路径的条数。
任务二:给出N,M,同时再给出此街道中的矩形障碍区域的2对顶点坐标(X1,y1),(X2,Y2),然后求出此种情况下所有从A出发到达B的路径的条数。