OpenJudge计算概论-细菌实验分组
/*====================================================
细菌实验分组
总时间限制: 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计算概论-细菌实验分组的更多相关文章
- OpenJudge计算概论-细菌的战争
/*====================================================================== 细菌的战争 总时间限制: 1000ms 内存限制: 6 ...
- OpenJudge计算概论-取石子游戏
OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...
- Openjudge计算概论——数组逆序重放【递归练习】
/*===================================== 数组逆序重放 总时间限制:1000ms 内存限制:65536kB 描述 将一个数组中的值按逆序重新存放. 例如,原来的顺 ...
- OpenJudge计算概论-计算书费
/*============================================== 计算书费 总时间限制: 1000ms 内存限制: 65536kB 描述 下面是一个图书的单价表: 计算 ...
- OpenJudge计算概论-最高的分数
/*======================================================== 最高的分数 总时间限制: 1000ms 内存限制: 65536kB 描述 孙老师 ...
- OpenJudge计算概论-比饭量【枚举法、信息数字化】
/*====================================================================== 比饭量 总时间限制: 1000ms 内存限制: 655 ...
- OpenJudge计算概论-鸡尾酒疗法
/*===================================== 鸡尾酒疗法 总时间限制: 1000ms 内存限制: 65536kB 描述 鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HA ...
- Openjudge计算概论-角谷猜想
/*===================================== 角谷猜想 总时间限制: 1000ms 内存限制: 65536kB 描述 所谓角谷猜想,是指对于任意一个正整数,如果是奇数 ...
- OpenJudge计算概论-字符串最大跨距
/*====================================================================== 字符串最大跨距 总时间限制: 1000ms 内存限制: ...
随机推荐
- Elasticsearch vs Solr 搜索引擎对比和选型
前言 全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选. 基于Lucene它可以快速地储存.搜索和分析海量数据.维基百科.Stack Overflow.Githu ...
- DNS服务——域名解析容错
介绍 DNS服务至关重要,你我每天访问网站不可能是记忆IP地址.因此DNS服务器的可靠性至关重要.下面介绍DNS服务器容错机制,看图 为了防止DNS服务器故障不再提供服务,引入辅助DNS服务器.辅助D ...
- Vue 前后端分离系统中遇到跨域问题
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS I Your application is running ...
- python requests包的基本使用
Requests 安装requests模块: D:\Install\Python36>pip3 install requests 请求方式 #coding:utf-8 import reques ...
- nginx 环境 thinkphp 隐藏index.php
tp官网已经写了 http://doc.thinkphp.cn/manual/hidden_index.html 不生效 重启nginx .问题依旧 kill掉nginx进程 再启动 贴段自己的配置 ...
- vue 对象更改检测注意事项
- Copy Books II
Description Given n books and each book has the same number of pages. There are k persons to copy th ...
- js的基础
js:javascript的简写,是一种脚本语言. js的引入方式: 外部样式:<script src=""></script> 内部样式:<scri ...
- sql server 变量和select 赋值的联合使用demo
) ) select @cltcode=cltcode,@brand=brand from prosamplehd CREATE table #t ( cltcode ), brand ) ) INS ...
- MongoDB 分片管理(四)数据均衡 -- 特大快
1.1 特大快形成 如果用date字段作为片键,集合中date是一个日期字符串,如:year/month/day,也就是说,mongoDB一天创建一个块.因块内所有文档的片键一样,因此这些块是不可拆分 ...