1 solutions
-
0
C :
#include <stdio.h> typedef struct DNAMAP { char map[100]; int sum; }DNA; int main() { int m,n,i,j,k; DNA sort[50],t; scanf("%d%d\n",&m,&n); i=0; for (i=0;i<n;i++) { scanf("%s",sort[i].map); sort[i].sum=0; for (j=0;j<m-1;j++) for (k=j+1;k<m;k++) if (sort[i].map[j]>sort[i].map[k]) sort[i].sum++; } for (i=0;i<n-1;i++) for (j=i+1;j<n;j++) if (sort[i].sum>=sort[j].sum) { t=sort[i]; sort[i]=sort[j]; sort[j]=t; } for (i=0;i<n-1;i++) printf("%s\n",sort[i].map); printf("%s",sort[n-1].map); return 0; }C++ :
#include <iostream> #include <algorithm> using namespace std; typedef struct { string dna; int count; }DNA; DNA dna[101]; int cmp(const void *a,const void *b) { DNA *aa = (DNA *)a; DNA *bb = (DNA *)b; return aa->count-bb->count; } int main() { int n,m; char c; cin>>n>>m; for(int i = 0; i < m; i++) { cin>>dna[i].dna; dna[i].count = 0; for(int j = 0; j < n; j++) for(int k = j+1; k < n; k++) { if(dna[i].dna[j]>dna[i].dna[k]) dna[i].count++; } } qsort(dna,m,sizeof(dna[0]),cmp); for(int i = 0; i < m; i++) cout<<dna[i].dna<<endl; return 0; }
- 1
Information
- ID
- 18598
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- (None)
- # Submissions
- 0
- Accepted
- 0
- Uploaded By