首页 > 代码库 > zju 1188 DNA Sorting
zju 1188 DNA Sorting
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;struct node{ int a; char s[105]; }p[105];int cmp(node c,node b){ return c.a<b.a;}int main(){ int m,n; int t; scanf("%d",&t); //printf("\n"); while(t--) { scanf("%d%d",&n,&m); for(int i=0;i<105;i++) p[i].a=0; for(int i=0;i<m;i++) scanf("%s",p[i].s); for(int k=0;k<m;k++) for(int i=0;i<n-1;i++) for(int j=i+1;j<n;j++) if(p[k].s[j]<p[k].s[i]) p[k].a++; sort(p,p+m,cmp); for(int i=0;i<m;i++) printf("%s\n",p[i].s); if(t) putchar(‘\n‘); } return 0;}
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node {
int a; char s[105];
}p[105];
int cmp(node c,node b)
{ return c.a<b.a; }
int main() {
int m,n;
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(int i=0;i<105;i++)
p[i].a=0;
for(int i=0;i<m;i++)
scanf("%s",p[i].s);
for(int k=0;k<m;k++)
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(p[k].s[j]<p[k].s[i])
p[k].a++;
sort(p,p+m,cmp);
for(int i=0;i<m;i++)
printf("%s\n",p[i].s);
if(t) putchar(‘\n‘);
}
return 0;
}
#include <iostream>#include <algorithm>#include<string>using namespace std;struct dna{ string a; int t;};bool cmp(dna x,dna y){ return x.t<y.t;}int main(int argc, char *argv[]){ int m,n,k,i,sum,c; struct dna b[105]; while (cin>>c) { while (c--) { cin>>m; cin>>n; for (i=0;i<n;i++) { sum=0; cin>>b[i].a; for (int j=0;j<m;j++) for (k=j+1;k<m;k++) if (b[i].a[j]>b[i].a[k]) sum++; b[i].t=sum; } sort(b,b+n,cmp); for (i=0;i<n;i++) cout<<b[i].a<<endl; if (c) cout<<endl; } } return 0;}
#include<string>#include<cstdio>#include<algorithm>using namespace std;struct f{ string s; int n;}node[105];bool cmp(f a,f b){ return a.n<b.n;}int ff(string s){ int i,j,sum=0; for(i=1;i<s.size();i++) for(j=0;j<i;j++) if(s[i]<s[j]) sum++; return sum;}int main(){ int t,n,m,i; cin>>t; while(t--) { cin>>n>>m; getchar(); for(i=0;i<m;i++) { cin>>node[i].s; node[i].n=ff(node[i].s); } sort(node,node+m,cmp); for(i=0;i<m;i++) cout<<node[i].s<<endl; if(t) cout<<endl; } return 0;}