|| 返回 || 本站首页 ||奥赛信息||计算机基础||pascal基础||数据结构||经典算法||试题汇编||校本教程||自主练习||

|| 试题汇编>> 1997年全国复赛(普及组)试题

双击自动滚屏 

   

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的路径的条数。



 
 

 

 
 
 

制作与维护:重庆市忠县中学 谭海