/*====================================================
细菌实验分组
总时间限制: 1000ms 内存限制: 65536kB
描述
有一种细菌分为A、B两个亚种,它们的外在特征几乎完全相同,仅仅在繁殖能力上有显著差别,A亚种繁殖能力非常强,B亚种的繁殖能力很弱。在一次为时一个 小时的细菌繁殖实验中,实验员由于疏忽把细菌培养皿搞乱了,请你编写一个程序,根据实验结果,把两个亚种的培养皿重新分成两组。
输入
输入有多行,第一行为整数n(n≤100),表示有n个培养皿。
其余n行,每行有三个整数,分别代表培养皿编号,试验前细菌数量,试验后细菌数量。
输出
输出有多行:
第一行输出A亚种培养皿的数量,其后每行输出A亚种培养皿的编号,按繁殖率升序排列。
然后一行输出B亚种培养皿的数量,其后每行输出B亚种培养皿的编号,也按繁殖率升序排列。
样例输入
5
1 10 3456
2 10 5644
3 10 4566
4 20 234
5 20 232
样例输出
3
1
3
2
2
5
4
提示
亚种内部,细菌繁殖能力差异远远小于亚种之间细菌繁殖能力的差异。
也就是说,亚种间任何两组细菌的繁殖率之差都比亚种内部两组细菌的繁殖率之差大。

解析:所谓繁殖率:是指种群中每一个体平均产生下一代的个体数。
有时也用一个个体在单位时间内产生的个体数来表示。
按照这个思路,繁殖率是用后来的数量z与原来的数量y之差除以原来的数量y,表示为(z-y)/y。
按照这个思路设计的程序,对输入输出案例都没对,但竟然AC了,无语中……
======================================================*/

#include<stdio.h>
struct PeiYangMin
{
int No;
double fanZhiLv;
};
void BubbleSort(struct PeiYangMin a[],int n);//对数组a[]的前n个元素按繁殖率进行非递减排序
int main()
{
int n,i;
struct PeiYangMin a[];
int x,y,z;
int max=;
int maxI=;
double t;
freopen("6.in","r",stdin);
//freopen("6.out","w",stdout);
scanf("%d",&n);
for(i=;i<n;i++)
{
scanf("%d%d%d",&x,&y,&z);
a[i].No=x;
a[i].fanZhiLv=(z-y)/y;
//a[i].fanZhiLv=z-y;
}
BubbleSort(a,n);
for(i=n-;i>;i--)
{
t=a[i].fanZhiLv-a[i-].fanZhiLv;
if(t>max)
{
max=t;
maxI=i;
}
}
printf("%d\n",n-maxI);//输出A组的个数
for(i=maxI;i<n;i++)
{
printf("%d\n",a[i].No);
}
printf("%d\n",maxI);//输出B组的个数
for(i=;i<maxI;i++)
{
printf("%d\n",a[i].No);
}
return ;
}
void BubbleSort(struct PeiYangMin a[],int n)
{//对数组a[]的前n个元素进行非递减排序
int i,j;
struct PeiYangMin temp;
for(i=;i<n;i++)
{
for(j=;j<n-i;j++)
{
if(a[j].fanZhiLv>a[j+].fanZhiLv)
{
temp=a[j];
a[j]=a[j+];
a[j+]=temp;
}
}
}
}

OpenJudge计算概论-细菌实验分组的更多相关文章

  1. OpenJudge计算概论-细菌的战争

    /*====================================================================== 细菌的战争 总时间限制: 1000ms 内存限制: 6 ...

  2. OpenJudge计算概论-取石子游戏

    OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...

  3. Openjudge计算概论——数组逆序重放【递归练习】

    /*===================================== 数组逆序重放 总时间限制:1000ms 内存限制:65536kB 描述 将一个数组中的值按逆序重新存放. 例如,原来的顺 ...

  4. OpenJudge计算概论-计算书费

    /*============================================== 计算书费 总时间限制: 1000ms 内存限制: 65536kB 描述 下面是一个图书的单价表: 计算 ...

  5. OpenJudge计算概论-最高的分数

    /*======================================================== 最高的分数 总时间限制: 1000ms 内存限制: 65536kB 描述 孙老师 ...

  6. OpenJudge计算概论-比饭量【枚举法、信息数字化】

    /*====================================================================== 比饭量 总时间限制: 1000ms 内存限制: 655 ...

  7. OpenJudge计算概论-鸡尾酒疗法

    /*===================================== 鸡尾酒疗法 总时间限制: 1000ms 内存限制: 65536kB 描述 鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HA ...

  8. Openjudge计算概论-角谷猜想

    /*===================================== 角谷猜想 总时间限制: 1000ms 内存限制: 65536kB 描述 所谓角谷猜想,是指对于任意一个正整数,如果是奇数 ...

  9. OpenJudge计算概论-字符串最大跨距

    /*====================================================================== 字符串最大跨距 总时间限制: 1000ms 内存限制: ...

随机推荐

  1. SQL SERVER-Login搬迁脚本

    USE master GO IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL DROP PROCEDURE sp_hexadecimal GO CREATE PR ...

  2. java - day012 - 异常 , throws, throw , IO ,RandomAccessFile

    异常 封装错误信息的对象 错误信息 类型        例如: NullPointerExce 空指针 提示消息  出错的行号 异常的继承结构 Throwable | - Error 系统级错误 | ...

  3. mysql查询某一列的数据最大字节

    语法:select 列名, length(列名) from 表名where length(列名) = ( select max(length(列名)) from 表名); 实例:select proj ...

  4. 1227:Ride to Office

    题目来源:http://ybt.ssoier.cn:8088/problem_show.php?pid=1227 1227:Ride to Office 时间限制: 1000 ms         内 ...

  5. 1260:【例9.4】拦截导弹(Noip1999)

    题目来源:http://ybt.ssoier.cn:8088/problem_show.php?pid=1260 1260:[例9.4]拦截导弹(Noip1999) 时间限制: 1000 ms     ...

  6. Hibernate初探之单表映射——创建Hibernate的配置文件

    编写第一个Hibernate例子 第一步:创建Hibernate的配置文件 使用安装的Hibernate tools插件帮我们自动生成 如果在编辑的时候eclipse没有出现代码自动提示功能的话,我们 ...

  7. flask 框架 转载:https://cloud.tencent.com/developer/article/1465968

    特点总结: 类名称---->数据库表名 类属性---->数据库字段 类的对象----->数据库表中的一行一行数据 3.ORM操作注意(理解) 1/因为SQLALChemy去app身上 ...

  8. 编写一个c程序来计算整数中的设置位数?

    回答: unsigned int NumberSetBits(unsigned int n) { ; while (n) { ; ; } return CountSetBits; } 本质上就是计算n ...

  9. 后端token认证模板

    1.创建一个视图 from rest_framework import exceptions from app01 import models from rest_framework.authenti ...

  10. 42 | grant之后要跟着flush privileges吗?

    在 MySQL 里面,grant 语句是用来给用户赋权的.不知道你有没有见过一些操作文档里面提到,grant 之后要马上跟着执行一个 flush privileges 命令,才能使赋权语句生效.我最开 ...