#include<iostream>
#include<algorithm>
using namespace std;
struct gene{
int begin;//开始位置
int end;//结束位置
int num;//编号
};
struct gene a[100];
int cmp(gene a,gene b)
{
return a.end<b.end?1:0;
}
int main()
{
int i;
int pre;//存储最后加入的编号
int n;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i].begin>>a[i].end;
a[i].num=i;
}
sort(a,a+n+1,cmp);
pre=1;
cout<<a[1].num<<" " ;
for(i=1;i<=n;i++)
{
if(a[pre].end<a[i].begin)
{
pre=i;
cout<<a[i].num<<" ";
}
}
cout<<endl;
return 0;
}zoj1076 gene assembly
最新推荐文章于 2019-10-29 19:59:32 发布
本文介绍了一个基于C++实现的基因选择算法。通过定义基因结构体并使用比较函数对基因进行排序,该算法能够有效地从一系列基因中挑选出不重叠的基因。通过对输入的基因区间的处理,程序实现了按结束位置排序并选择最大不相交子集的功能。
869

被折叠的 条评论
为什么被折叠?



