| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
晒一下c++味道比较足的代码一次AC,代码如下:
//////////////////////////////////
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
//#include<cstdlib>
using namespace std;
struct DNA
{
string seq; //dna sequence
int inver; //unsortedness
int order; //the order of input
DNA()
{
inver = 0;
}
};
bool cmp(DNA a, DNA b)
{
if(a.inver < b.inver)
{
return true;
}
else if((a.inver == b.inver) && (a.order < b.order))
{
return true;
}
else
{
return false;
}
}
void print(DNA a)
{
cout<<a.seq<<endl;
}
int main()
{
int n,m,i = 0;
vector<DNA> dvec;
cin>>n>>m;
while(i++ < m)
{
DNA dt;
dt.order = i;
cin>>dt.seq;
dvec.push_back(dt);
}
for(vector<DNA>::iterator diter = dvec.begin()
; diter != dvec.end(); diter++)
{
for(string::iterator si1 = diter->seq.begin()
;si1 != diter->seq.end(); si1++)
{
for(string::iterator si2 = si1
;si2 != diter->seq.end(); si2++)
{
if(*si1 > *si2)
{
++(diter->inver);
}
}
}
}
sort(dvec.begin(),dvec.end(),cmp);
for_each(dvec.begin(),dvec.end(),print);
// system("PAUSE");
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator