您的位置:首页 > 其它

【模拟】【RQNOJ】奥运火炬到福州

2010-07-12 21:19 295 查看

题目描述

5月11日,在福州人民的热烈欢迎下,象征着和平、友谊、圣洁的奥运火炬终于来到了福州,开始了传递……

这次传递中也伴有不和谐的音符,达赖集团的极少数藏独分子想要在途中破坏奥运圣火,圣火护卫队的队员们也要尽自己最大努力去保卫圣火不受侵犯。(我出这道题,也算为奥运出了自己的一份微薄之力了)
数据范围:n+m≤18511,体力都在longint范围内(可能是负数)

输入格式

输入:
第1行,两个整数n和m,分别代表圣火护卫队的人数及藏独分子的人数;
接下来n行,每行一个数代表圣火护卫队每个人的体力;
接下来m行,每行一个数代表每个藏独分子的体力。

输出格式

输出:
输出圣火护卫队是否能保护圣火,能输出can,不能输出can't。所谓是否能保护圣火,指的是圣火护卫队队员的人数多;且圣火护卫队队员的体力平均数高;且圣火护卫队队员的体力的方差小(三项都满足)

样例输入

#include<stdio.h>
int n,m;
double a[20000],b[20000];
bool doo()
{
if (n<m) return false;
for (int i=1;i<=n;++i) scanf("%d",&a[i]);
for (int i=1;i<=m;++i) scanf("%d",&b[i]);
double ave_a=0,ave_b=0;
for (int i=1;i<=n;++i) ave_a+=a[i];
for (int i=1;i<=m;++i) ave_b+=b[i];
ave_a/=n; ave_b/=m;
if (ave_a<ave_b) return false;
double fang_a=0,fang_b=0;
for (int i=1;i<=n;++i) fang_a+=(a[i]-ave_a)*(a[i]-ave_a);
for (int i=1;i<=m;++i) fang_b+=(b[i]-ave_b)*(a[i]-ave_a);
fang_a/=n; fang_b/=m;
if (fang_a>fang_b) return false;
return true;
}
int main()
{
scanf("%d%d",&n,&m);
if (doo()) printf("can/n");
else printf("can't/n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: