主题:[原创]2005年初赛模拟试题
写出一程序,在读入一个含有两非负整数及一个运算符后,判断两整数及表达式的运算结果是否超出了PASCAL语言中关于长整数类型的定义。
输入文件(OVER.IN):
输入文件有若干行,每行包含一个整数,一个运算符(‘+’、‘-’、‘*’、‘div’),及另一个整数。
输出文件(OVER.OUT):
对每一行的输入,先输出一遍原输入,并在其下面输出0至3行的适当内容,如“first number too big”,“second number too big”,“result too big”。
输入输出样例:
OVER.IN OVER.OUT
300+3
300000*300000
99999999999999999999+11 300+3
300000*300000
result too big
99999999999999999999+11
first number too big
result too big
最大最小差(MaxMin)
提交文件名:MAXMIN.PAS/C/CPP
问题描述:
现在有N个正整数,每一次去掉其中2个数a和b,然后加入一个数a*b+1,这样最后只剩下一个数P。要求求出最大的P记为MaxP,最小的p记MinP,和他们的差K=MaxP-MinP。
对于给定的数列,编程计算出它的Max,Min和K。
输入文件(MAXMIN.IN):
第一行是数列的长度N(不超过50),以下N行,每行一个正整数(不超过2位)。
输出文件(MAXMIN.OUT):
输出一共三行,每行一个整数,依次为max,min,K。
输入输出样例:
MAXMIN.IN MAXMIN.OUT
2
1
1 2
2
0
三角形剖分(TRIANGLE)
提交文件名:TRIANGLE.PAS/C/CPP
问题描述:
对于一个有n个顶点的凸多边形,众所周知,它一共有n-3条对角线。当然,画出多边形的n-3条对角线的方法是不唯一的,那么如何划分这n-3条对角线,使得每个三角形中最小的角最大呢?
输入文件(TRIANGLE.IN):
第1行n(n<=100),以后n行,每行一个坐标(在integer范围内)。
输出文件(TRIANGLE.IN):
一行,代表最小的角度(保留两位小数)。
输入输出样例:
TRIANGLE.IN TRIANGLE.IN
3
0 0
1 0
0 1 45.00
鼹鼠(MOLE)
提交文件名:MOLE.PAS/C/CPP
问题描述:
一群鼹鼠好不容易摆脱了狗的追赶,又有几只老鹰发现了它们。它们要在最短的时间里逃回洞里。现在有n只鼹鼠和m个洞,每只鼹鼠和每个洞的位置都不相同,用(x,y)坐标表示。如果鼹鼠不能在s秒之内回到洞里,生命就有危险。由于洞都比较小,所以每个洞只能容纳一只鼹鼠。鼹鼠需要一种策略,使得生命受到威胁的鼹鼠个数尽可能少。
输入文件(MOLE.IN):
有若干组测试数据。每一组第一行有4个整数:n、m、s和v,v表示鼹鼠的速度。这4个整数都不超过100。
接下来的n行是鼹鼠的初始位置,每行两个实数,表示横、纵坐标。在接下来的m行是洞的位置,也是两个实数,表示坐标。
输出文件(MOLE.OUT):
对应每一组输入,输出一行,仅一个数字x,表示最少有x只鼹鼠生命受到威胁。
输入输出样例
MOLE.IN MOLE.OUT
2 2 5 10
1.0 1.0
2.0 2.0
100.0 100.0
20.0 20.0 1
各位好好做啊
小弟我才做了一题,有点难度啊
输入文件(OVER.IN):
输入文件有若干行,每行包含一个整数,一个运算符(‘+’、‘-’、‘*’、‘div’),及另一个整数。
输出文件(OVER.OUT):
对每一行的输入,先输出一遍原输入,并在其下面输出0至3行的适当内容,如“first number too big”,“second number too big”,“result too big”。
输入输出样例:
OVER.IN OVER.OUT
300+3
300000*300000
99999999999999999999+11 300+3
300000*300000
result too big
99999999999999999999+11
first number too big
result too big
最大最小差(MaxMin)
提交文件名:MAXMIN.PAS/C/CPP
问题描述:
现在有N个正整数,每一次去掉其中2个数a和b,然后加入一个数a*b+1,这样最后只剩下一个数P。要求求出最大的P记为MaxP,最小的p记MinP,和他们的差K=MaxP-MinP。
对于给定的数列,编程计算出它的Max,Min和K。
输入文件(MAXMIN.IN):
第一行是数列的长度N(不超过50),以下N行,每行一个正整数(不超过2位)。
输出文件(MAXMIN.OUT):
输出一共三行,每行一个整数,依次为max,min,K。
输入输出样例:
MAXMIN.IN MAXMIN.OUT
2
1
1 2
2
0
三角形剖分(TRIANGLE)
提交文件名:TRIANGLE.PAS/C/CPP
问题描述:
对于一个有n个顶点的凸多边形,众所周知,它一共有n-3条对角线。当然,画出多边形的n-3条对角线的方法是不唯一的,那么如何划分这n-3条对角线,使得每个三角形中最小的角最大呢?
输入文件(TRIANGLE.IN):
第1行n(n<=100),以后n行,每行一个坐标(在integer范围内)。
输出文件(TRIANGLE.IN):
一行,代表最小的角度(保留两位小数)。
输入输出样例:
TRIANGLE.IN TRIANGLE.IN
3
0 0
1 0
0 1 45.00
鼹鼠(MOLE)
提交文件名:MOLE.PAS/C/CPP
问题描述:
一群鼹鼠好不容易摆脱了狗的追赶,又有几只老鹰发现了它们。它们要在最短的时间里逃回洞里。现在有n只鼹鼠和m个洞,每只鼹鼠和每个洞的位置都不相同,用(x,y)坐标表示。如果鼹鼠不能在s秒之内回到洞里,生命就有危险。由于洞都比较小,所以每个洞只能容纳一只鼹鼠。鼹鼠需要一种策略,使得生命受到威胁的鼹鼠个数尽可能少。
输入文件(MOLE.IN):
有若干组测试数据。每一组第一行有4个整数:n、m、s和v,v表示鼹鼠的速度。这4个整数都不超过100。
接下来的n行是鼹鼠的初始位置,每行两个实数,表示横、纵坐标。在接下来的m行是洞的位置,也是两个实数,表示坐标。
输出文件(MOLE.OUT):
对应每一组输入,输出一行,仅一个数字x,表示最少有x只鼹鼠生命受到威胁。
输入输出样例
MOLE.IN MOLE.OUT
2 2 5 10
1.0 1.0
2.0 2.0
100.0 100.0
20.0 20.0 1
各位好好做啊
小弟我才做了一题,有点难度啊