- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七届(2001)分区联赛复赛解题报告(提高组)
第一题:一元三次方程求解ax3+bx2+cx+d 0? 这样的一个一元三次方程。给出该方程中各项的系数 a,b,c,d? 均为实数 ,并约定该方程存在三个不同实根 根的范围在-100至100之间 ,且根与根之差的绝对值 1。要求由小到大依次在同一行输出这三个实根 根与根之间留有空格 ,并精确到小数点后2位。提示:记方程f x 0,若存在2个数x1和x2,且x1 x2,f x1 *f x2 0,则在 x1,x2 之间一定有一个 根。
样例输入:1 -5 -4 20输出:-2.00 2.00 5.00
第二题:数的划分第三题:统计单词个数第四题:CAR的旅行路线
那么Car应如何安排到城市B的路线才能尽可能的节省花费呢?她发现这并不是一个简单的问题,于是她来向你请教。任务:找出一条从城市A到B的旅游路线,出发和到达城市中的机场可以任意选取,要求总的花费最少。输入文件:输入文件名p4.in输 出:p4.out 输出最小费用,小数点后保留1位。 输入格式:第一行为一个正整数n 0 n 10 ,表示有n组测试数据。每组的第一行有四个正整数s,t,A,B。S 0 S 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行,每行一个数据对应测试数据。
样例输入11 10 1 31 1 1 3 3 1 302 5 7 4 5 2 18 6 8 8 11 6 3输出:47.55
参考程序:
第一题:
var
y,n,a,b,c,d:real;
i:longint;
begin
assign input,p1.in ;reset input ;
assign output,p1.out ;rewrite output ;
read a,b,c,d ;
for i: -10000 to 10000 do
begin
n: i/100;
y: n*n*n*a+n*n*b+n*c+d;
if abs y 1e-5 then write n:0:2, ;
end;
close input ;close output ;
end.
第二题:
var
n,k:longint;
function f n,k,s:longint :longint;
var
sum,i:longint;
begin
sum: 0;
if k 1 then exit 1 ;
for i: s to n div k do
sum: sum+f n-i,k-1,i ;
exit sum ;
end;
begin
assign input,p2.in ;reset input ;
assign output,p2.out ;rewrite output ;
readln n,k ;
write f n,k,1 ;
close input ;close output ;
end.
第三题:
Var
p,k,s,n:integer;
ss:string[200];
word:array[1..6]of string[200];
g:array[1..200,1..200]of byte;
f:array[1..200,1..40]of integer;
w:array[1..200]of byte;
function max a,b:integer :integer;
begin
if a b then exit a ;
exit b ;
end;
procedure inIt;
var
i,j:integer;
s1:string;
begin
ss: ;
readln p,k ;
for i: 1 to p do
begin
readln s1 ;
ss: ss+s1;
end;
n: 20*p;
readln s ;
for i: 1 to s do readln word[i] ;
fillchar g,sizeof g ,0 ;
fillchar f,sizeof f ,0 ;
for i: 1 to n do
begin
文档评论(0)