栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1007 DNA Sorting

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1007 DNA Sorting

#include<iostream>#include<algorithm>using namespace std;typedef class dna{public:int num;  //逆序数char sq[110];  //DNA序列}DNAStr;int InversionNumber(char* s,int len){int ans=0;  //s逆序数int A,C,G;  //各个字母出现次数,T是最大的,无需计算T出现次数A=C=G=0;for(int i=len-1;i>=0;i--){switch(s[i]){    case 'A':A++;break;  //A是最小的,无逆序数case 'C': { C++; ans+=A;  //当前C后面出现A的次数就是这个C的逆序数 break; }case 'G':{G++;ans+=A;ans+=C;break;}case 'T':{ans+=A;ans+=C;ans+=G;break;}}}return ans;}int cmp(const void* a,const void* b){DNAStr* x=(DNAStr*)a;DNAStr* y=(DNAStr*)b;return (x->num)-(y->num);}int main(void){int n,m;while(cin>>n>>m){DNAStr* DNA=new DNAStr[m];for(int i=0;i<m;i++){cin>>DNA[i].sq;DNA[i].num = InversionNumber(DNA[i].sq,n);}qsort(DNA,m,sizeof(DNAStr),cmp);for(int j=0;j<m;j++)cout<<DNA[j].sq<<endl;}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367968.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号