主题:2001年全国青少年信息学(计算机)奥林匹克分区联赛复赛试题:谁有参考程序?
2001年全国青少年信息学(计算机)奥林匹克分区联赛复赛试题
(高中组 竞赛用时:3小时)
题一 一元三次方程求解(20分)
问题描述
有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1.要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位.
提示:记方程f(x)=0,若存在2个数x1和x2,且x1<0,则在(x1,x2)之间一定有一个 根.
样例
输入:1 -5 -4 20
输出:-2.00 2.00 5.00
题二 数的划分(20分)
问题描述
将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序).
例如:n=7,k=3,下面三种分法被认为是相同的.
1,1,5; 1,5,1; 5,1,1;
问有多少种不同的分法.
输入:n,k (6<=200,2<=k<=6)
输出:一个整数,即不同的分法.
样例
输入: 7 3
输出:4 {四种分法为:1,1,5;1,2,4;1,3,3;2,2,3;}
题三 统计单词个数(30分)
问题描述
给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份(1< =40),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠.当选用一个单词之后,其第一个字母不能再用.例如字符串this中可包含this和is,选用this之后就不能包含th).单词在给出的一个不超过6个单词的字典中.要求输出最大的个数.
输入格式
去部输入数据放在文本文件input3.dat中,其格式如下:
第一行为一个正整数(0<=5)表示有n组测试数据
每组的第一行有二个正整数(p,k)
p表示字串的行数;
k表示分为k个部分.
接下来的p行,每行均有20个字符.
再接下来有一个正整数s,表示字典中单词个数.(1<=s<=6)
接下来的s行,每行均有一个单词.
输出格式
结果输出至屏幕,每行一个整数,分别对应每组测试数据的相应结果.
样例
输入:
1
1 3
thisisabookyouareaoh
4
is
a
ok
sab
输出: //说明:(不必输出)
7 // this/isabookyoua/reaoh
题四 Car的旅行路线(30分)
问题描述
又到暑假了,住在城市A的Car想和朋友一起去城市B旅游.她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之间有一条笔直的高速铁路,第I个城市中高速铁路了的单位里程价格为Ti,任意两个不同城市的机场之间均有航线,所有航线单位里程的价格均为t.
图例
机场
高速铁路
飞机航线
注意:图中并没有
标出所有的铁路与航线.
那么Car应如何安排到城市B的路线才能尽可能的节省花费呢 她发现这并不是一个简单的问题,于是她来向你请教.
任务
找出一条从城市A到B的旅游路线,出发和到达城市中的机场可以任意选取,要求总的花费最少.
输入文件:键盘输入文件名
输 出:到屏幕(输出最小费用,小数点后保留1位.)
输入格式
第一行为一个正整数n(0<=n<=10),表示有n组测试数据.
每组的第一行有四个正整数s,t,A,B.
S(0<=100)表示城市的个数,t表示飞机单位里程的价格,A,B分别为城市A,B的序号,(1<=A,B<=S).
接下来有S行,其中第I行均有7个正整数xi1,yi1,xi2,yi2,xi3,yi3,Ti,这当中的(xi1,yi1),(xi2,yi2),(xi3,yi3)分别是第I个城市中任意三个机场的坐标,T I为第I个城市高速铁路单位里程的价格.
输出格式
共有n行,每行一个数据对应测试数据.
样例
输入
1
1 10 1 3
1 1 1 3 3 1 30
2 5 7 4 5 2 1
8 6 8 8 11 6 3
输出:
47.55
(高中组 竞赛用时:3小时)
题一 一元三次方程求解(20分)
问题描述
有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1.要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位.
提示:记方程f(x)=0,若存在2个数x1和x2,且x1<0,则在(x1,x2)之间一定有一个 根.
样例
输入:1 -5 -4 20
输出:-2.00 2.00 5.00
题二 数的划分(20分)
问题描述
将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序).
例如:n=7,k=3,下面三种分法被认为是相同的.
1,1,5; 1,5,1; 5,1,1;
问有多少种不同的分法.
输入:n,k (6<=200,2<=k<=6)
输出:一个整数,即不同的分法.
样例
输入: 7 3
输出:4 {四种分法为:1,1,5;1,2,4;1,3,3;2,2,3;}
题三 统计单词个数(30分)
问题描述
给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份(1< =40),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠.当选用一个单词之后,其第一个字母不能再用.例如字符串this中可包含this和is,选用this之后就不能包含th).单词在给出的一个不超过6个单词的字典中.要求输出最大的个数.
输入格式
去部输入数据放在文本文件input3.dat中,其格式如下:
第一行为一个正整数(0<=5)表示有n组测试数据
每组的第一行有二个正整数(p,k)
p表示字串的行数;
k表示分为k个部分.
接下来的p行,每行均有20个字符.
再接下来有一个正整数s,表示字典中单词个数.(1<=s<=6)
接下来的s行,每行均有一个单词.
输出格式
结果输出至屏幕,每行一个整数,分别对应每组测试数据的相应结果.
样例
输入:
1
1 3
thisisabookyouareaoh
4
is
a
ok
sab
输出: //说明:(不必输出)
7 // this/isabookyoua/reaoh
题四 Car的旅行路线(30分)
问题描述
又到暑假了,住在城市A的Car想和朋友一起去城市B旅游.她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之间有一条笔直的高速铁路,第I个城市中高速铁路了的单位里程价格为Ti,任意两个不同城市的机场之间均有航线,所有航线单位里程的价格均为t.
图例
机场
高速铁路
飞机航线
注意:图中并没有
标出所有的铁路与航线.
那么Car应如何安排到城市B的路线才能尽可能的节省花费呢 她发现这并不是一个简单的问题,于是她来向你请教.
任务
找出一条从城市A到B的旅游路线,出发和到达城市中的机场可以任意选取,要求总的花费最少.
输入文件:键盘输入文件名
输 出:到屏幕(输出最小费用,小数点后保留1位.)
输入格式
第一行为一个正整数n(0<=n<=10),表示有n组测试数据.
每组的第一行有四个正整数s,t,A,B.
S(0<=100)表示城市的个数,t表示飞机单位里程的价格,A,B分别为城市A,B的序号,(1<=A,B<=S).
接下来有S行,其中第I行均有7个正整数xi1,yi1,xi2,yi2,xi3,yi3,Ti,这当中的(xi1,yi1),(xi2,yi2),(xi3,yi3)分别是第I个城市中任意三个机场的坐标,T I为第I个城市高速铁路单位里程的价格.
输出格式
共有n行,每行一个数据对应测试数据.
样例
输入
1
1 10 1 3
1 1 1 3 3 1 30
2 5 7 4 5 2 1
8 6 8 8 11 6 3
输出:
47.55