讨论 / 谁能把过的发给我下
a474908647 2008-09-01 02:18:00
点我顶贴 收藏 删除
我的第三个数据老是空 谁能把过的发给我下 3q 了
#1 DarkMaster@2008-08-29 00:34:00
回复 删除
{$N+}

var a,b:array[1..10000]of longint;

ap,bp,ac,bc:extended;

an,bn,i:smallint;

ad,bd:longint;

begin

readln(an,bn);

if bn=0 then begin write(’can’); exit; end

else if an=0 then begin write(’can’,#39,’t’); exit; end;

ad:=0;

bd:=0;

for i:=1 to an do

begin

read(a[i]);

ad:=ad+a[i];

end;

readln;

for i:=1 to bn do

begin

read(b[i]);

bd:=bd+b[i];

end;

ap:=ad/an;

bp:=bd/bn;

ac:=0;

bc:=0;

for i:=1 to an do ac:=ac+(a[i]-ap)*(a[i]-ap);

for i:=1 to bn do bc:=bc+(b[i]-bp)*(b[i]-bp);

ac:=ac/an;

bc:=bc/bn;

if (an>bn)and(ap>bp)and(ac<bc) then write(’can’) else

begin

write(’can’);

write(chr(39));

write(’t’);

end;

end.

#2 zzkca930110@2008-08-29 00:51:00
回复 删除
对不起,我编的是C++

核心代码:

long long a[18511],b[18511];

int main ()

{

int n,m,i;

long long s1,s2;

double p,fc1,fc2;

cin>>n>>m;

if (m>n) {cout<<"can’t"<<endl; return 0;}

s1=0; fc1=0.0;

for (i=0; i<n; i++) {

cin>>a[i];

s1+=a[i];

}

p=s1*1.0/n;

for (i=0; i<n; i++)

fc1+=(a[i]-p)*(a[i]-p);

s2=0; fc2=0.0;

for (i=0; i<m; i++) {

cin>>b[i];

s2+=b[i];

}

p=s2*1.0/n;

for (i=0; i<n; i++)

fc2+=(b[i]-p)*(b[i]-p);

if (s1<s2) {cout<<"can’t"<<endl; return 0;}

if (fc1>=fc2) {cout<<"can’t"<<endl; return 0;}

cout<<"can"<<endl;

return 0;

}

#3 king13@2008-08-30 03:29:00
回复 删除
Var

a,b:array[1..18511]of longint;

top1,top2,f1,f2:Real;

n,m:longint;

Procedure Init;

Var

i:longint;

Begin

Fillchar(a,sizeof(a),0);

Fillchar(b,sizeof(b),0);

top1:=0; top2:=0;

Readln(n,m);

For i:=1 to n do

Begin

Read(a[i]);

Top1:=top1+a[i];

End;

Readln;

IF n<>0 then

top1:=top1/n;

For i:=1 to m do

Begin

Read(b[i]);

Top2:=Top2+b[i];

End;

Readln;

IF m<>0 then

top2:=top2/m;

End;

Procedure Main;

Var

i,j:longint;

Begin

f1:=0;

For i:=1 to n do

f1:=f1+Sqr(a[i]-top1);

IF n<>0 then

f1:=f1/n;

For i:=1 to m do

f2:=f2+sqr(b[i]-top2);

IF m<>0 then

f2:=f2/m;

IF (n>m)And(top1>top2)And(f1<f2)then

Writeln(’can’)

Else

Writeln(’can’’t’);

End;

Begin

Init;

Main;

End.

就在这

注意细节

就可以拉

#4 typhoon@2008-08-30 19:45:00
回复 删除
Program project1;

var

n,m,i:integer;

a,b:array[1..20000]of longint;

s,c,d,e:real;

begin

readln(n,m);

s:=0.0;

c:=0.0;

for i:=1 to n do begin

readln(a[i]);

s:=s+a[i]/n;

end;

for i:=1 to m do begin

readln(b[i]);

c:=c+b[i]/m;

end;

d:=0.0;

e:=0.0;

for i:=1 to n do

d:=d+(a[i]-s)*(a[i]-s);

for i:=1 to m do

e:=e+(b[i]-c)*(b[i]-c);

if (n>m)and(s>c)and(d<e) then writeln(’can’)

else writeln(’can’’t’);

readln;

end.

#5 peterjiang@2008-08-30 21:56:00
回复 删除
program ss;

var

m,n,i,j,k:longint;

x,y:int64;

a,b:array[1..19000]of longint;

c,d,e,f:extended;

begin

readln(m,n);

if m<=n then begin write(’can’,chr(39),’t’); halt; end;

if n=0 then begin write(’can’); halt; end;

x:=0; y:=0;

for i:=1 to m do begin read(a[i]); x:=x+a[i]; end;

for i:=1 to n do begin read(b[i]); y:=y+b[i]; end;

c:=x/m; d:=y/n;

if c<=d then begin write(’can’,chr(39),’t’); halt; end;

e:=0; f:=0;

for i:=1 to m do

e:=e+sqr(a[i]-c);

for i:=1 to n do

f:=f+sqr(b[i]-c);

if e>=f then begin write(’can’,chr(39),’t’); halt; end;

write(’can’);

end.

#6 CODE-GEASS@2008-08-31 21:36:00
回复 删除
program l200;

var i,j,t,n,m:longint;

a:array[0..20000] of real;

b:array[0..20000] of real;

x,y:real;

begin

read(n,m);

for i:=1 to n do read(a[i]);

for i:=1 to m do read(b[i]);

a[0]:=0; b[0]:=0;

for i:=1 to n do

a[0]:=a[0]+a[i]/n;

for i:=1 to m do

b[0]:=b[0]+b[i]/m;

x:=0; y:=0;

for i:=1 to n do begin x:=x+(a[i]-a[0])*(a[i]-a[0])/n end;

for i:=1 to m do begin y:=y+(a[i]-b[0])*(b[i]-b[0])/m end;

if (n>m) and (a[0]>b[0])and (x<y) then writeln(’can’) else writeln(’can’’t’);

end.

#7 小小小学生@2008-09-01 02:18:00
回复 删除
program li;

var n,m,i,j,k,t:longint;a1,b1,a2,b2:real;

a,b:array[1..20000] of longint;

begin

read(n); read(m);

a1:=0; a2:=0; b1:=0; b2:=0;

for i:=1 to n do begin read(a[i]);a1:=a1+a[i]/n; end;

for i:=1 to m do begin read(b[i]);b1:=b1+b[i]/m; end;

for i:=1 to n do a2:=a2+(a[i]-a1)*(a[i]-a1)/n;

for i:=1 to m do b2:=b2+(b[i]-b1)*(b[i]-b1)/m;

if (n>m) and (a1>b1) and(a2<b2) then write(’can’)

else write(’can’’t’);

end.

查看更多回复
提交回复