pku 1007 DNA Sorting
2010-08-01 00:18
295 查看
http://acm.pku.edu.cn/JudgeOnline/problem?id=1007
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;
#define MAX 102
int linenum,num;
int counter;
typedef struct{
string seq;
int unsortness;
}DNA;
DNA dna[MAX];
void process(string tmp){
int unsortness=0;
for(int i=0;i<linenum ; i++)
for(int j=i+1;j< linenum ; j++){
if( tmp[i]>tmp[j])
unsortness++;
}
dna[counter].seq=tmp;
dna[counter].unsortness=unsortness;
counter++;
}
bool compare(DNA a,DNA b){ //返回false,表示不符合排序要求需要交换
if( a.unsortness <= b.unsortness )
return true;
else
return false;
}
int main(){
//ifstream in("test.txt");
//in>>linenum>>num;
cin>>linenum>>num;
string tmp;
counter=0;
for(int i=0; i<num; i++){
//in>>tmp;
cin>>tmp;
process(tmp);
}
stable_sort(dna,dna+counter,compare); //注意dna+counter表示end,不是dna+counter-1
for(int j=0 ; j<counter ; j++)
cout<<dna[j].seq<<endl;
}
/*
10 6
AACATGAAGG
TTTTGGCCAA
TTTGGCCAAA
GATCAGATTT
CCCGGGGGGA
ATCGATGCAT
CCCGGGGGGA
AACATGAAGG
GATCAGATTT
ATCGATGCAT
TTTTGGCCAA
TTTGGCCAAA
*/
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std;
#define MAX 102
int linenum,num;
int counter;
typedef struct{
string seq;
int unsortness;
}DNA;
DNA dna[MAX];
void process(string tmp){
int unsortness=0;
for(int i=0;i<linenum ; i++)
for(int j=i+1;j< linenum ; j++){
if( tmp[i]>tmp[j])
unsortness++;
}
dna[counter].seq=tmp;
dna[counter].unsortness=unsortness;
counter++;
}
bool compare(DNA a,DNA b){ //返回false,表示不符合排序要求需要交换
if( a.unsortness <= b.unsortness )
return true;
else
return false;
}
int main(){
//ifstream in("test.txt");
//in>>linenum>>num;
cin>>linenum>>num;
string tmp;
counter=0;
for(int i=0; i<num; i++){
//in>>tmp;
cin>>tmp;
process(tmp);
}
stable_sort(dna,dna+counter,compare); //注意dna+counter表示end,不是dna+counter-1
for(int j=0 ; j<counter ; j++)
cout<<dna[j].seq<<endl;
}
/*
10 6
AACATGAAGG
TTTTGGCCAA
TTTGGCCAAA
GATCAGATTT
CCCGGGGGGA
ATCGATGCAT
CCCGGGGGGA
AACATGAAGG
GATCAGATTT
ATCGATGCAT
TTTTGGCCAA
TTTGGCCAAA
*/
相关文章推荐
- PKU ACM 1007题“DNA Sorting”的一种解法
- DNA Sorting-PKU ACM 1007
- acm pku 1007 DNA Sorting
- PKU_1007_DNA Sorting
- PKU_1007 DNA sorting
- PKU 1007 DNA Sorting
- POJ 1007 DNA Sorting
- POJ 1007 DNA Sorting
- POJ 1007_DNA Sorting
- POJ 1007 DNA Sorting
- POJ 1007 - DNA Sorting
- POJ - 1007 - DNA Sorting
- pku 1007
- POJ 1007 DNA Sorting(sort函数的使用)
- 【原】 POJ 1007 DNA Sorting 逆序数 解题报告
- PKU ACM- 1007 题 java DNA Sorting
- poj1007——DNA Sorting
- PKU ACM 1007 DNA Sorting
- 【POJ】1007 DNA Sorting
- 【POJ】1007 DNA Sorting