第三届全国青少年信息学(计算机)奥林匹克分区联赛复赛试题 (初中组 竞赛用时:3小时)
一、设有一个N*M方格的棋盘(l<=N<=100,1<=M<=100)(30%) 求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。 例如:当 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 二、把1,2,… 9共9个数排成下列形状的三角形:(30%)
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,输出所有满足上述条件的三角形的个数及其中的一 种方案。 三、设有一个N*M(l<=N<=50,l<=M<=50)的街道(如图一):(40%)   北 5┌─┬─┬─┬─┬─┬─┬─┬─┐B(9,5) │ │ │ │ │ │ │ │ │ 4├─┼─┼─┼─┼─┼─┼─┼─┤ │ │*│*│*│*│*│*│ │ 东 西3├─┼─┼─┼─┼─┼─┼─┼─┤ │ │*│*│*│*│*│*│ │ 2├─┼─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ │ 1└─┴─┴─┴─┴─┴─┴─┴─┘   1 2 3 4 5 6 7 8 9  A(1,1)   南 (图一) 规定行人从A(1,1)出发,在街道上只能向东或北方向行走。 图二为N=3,M=3的街道图,从A出发到达B共有6条可供行走的路径: 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的路径的条数。