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.
核心代码:
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;
}
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.
就在这
注意细节
就可以拉
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.
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.
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.
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.