zoj 1188.DNA Sorting
2012-10-15 22:58
260 查看
DNA Sorting
#include<iostream> #include<cstdlib> using namespace std; struct node{ int num; char a[51]; }data[101]; int cal(char* s,int n) { int i=0; int a[4]={0},total=0; for(i=n-1;i>=0;i--) { switch(s[i]) { case 'A': a[1]++; a[2]++; a[3]++; break; case 'C': a[2]++; a[3]++; total+=a[1]; break; case 'G': a[3]++; total+=a[2]; break; case 'T': total+=a[3]; break; } } return total; } int comp(const void* a,const void* b) { return (*(node *)a).num-(*(node *)b).num; } int main() { int n,m; int t; cin>>t; while(t) { cin>>n>>m; for(int i=0;i<m;i++) { cin>>data[i].a; data[i].num=cal(data[i].a,n); } qsort(data,m,sizeof(node),comp); for(int j=0;j<m;j++) cout<<data[j].a<<endl; } return 0; }
#include <iostream> #include <cstdio> #include <string> #include <algorithm> using namespace std; struct dna { string s; int value; }d[110]; void inint() { int i; for( i=0;i<110;i++ ) d[i].value=0; } bool cmp( dna a,dna b ) { return a.value<b.value; } int main() { int N,n,m,i,j,k,sum,first; first=1; cin>>N; while( N-- ) { inint(); cin>>n>>m; for( i=0;i<m;i++ ) { cin>>d[i].s; for( j=1;j<n;j++ ) { for( k=j-1;k>=0;k-- ) { if( d[i].s[j]<d[i].s[k] ) d[i].value++; } } } sort( d,d+m,cmp ); if( first!=1 ) cout<<endl; for( i=0;i<m;i++ ) cout<<d[i].s<<endl; first++; } return 0; }
相关文章推荐
- ZOJ 1188 DNA Sorting
- ZOJ Problem Set–1188 DNA Sorting
- ZOJ Problem Set - 1188 DNA Sorting
- zoj 1188 - DNA Sorting
- zoj 1188 DNA Sorting
- zoj 1188 || poj 1007 DNA Sorting(水~)
- zoj_1188 DNA Sorting
- ZOJ 1188 DNA Sorting
- ZOJ 1188 DNA Sorting
- zoj 1188 DNA Sorting(STL)
- zoj 1188 DNA Sorting
- ZOJ Problem Set - 1188 DNA Sorting
- [水]ZOJ1188
- zoj_1188
- ZOJ 1188
- zju 1188 DNA Sorting
- ZOJ-1188
- ZOJ 1109 Language of FatMouse
- ZOJ 3422 2-SAT
- ZOJ 题目3612 Median(SBT输出中数)