Отримання знань

дистанційна підтримка освіти школярів


Сортировка ДНК
http://acm.pku.edu.cn/JudgeOnline/problem?id=1007

   Входные данные

   Выходные данные

   Пример входных данных

   Пример выходных данных

   Анализ условия и обсуждение идеи решения

   Пример решения на С++:

#include < stdio.h >

int unsorted(char *str, int len)
{
int i,j;
int n=0;

for(i=0;i
for(j=i+1;str[j];j++) {
if(str[i] > str[j]) n++;
}
}

return n;
}

void insert(int a[], int b[], int s, int n)
{
int i,j;

for(i=0;i
if(a[i] > s) break;

for(j=n;j>i;j--) {
a[j] = a[j-1];
b[j] = b[j-1];
}

a[i] = s;
b[i] = n;
}

int main()
{
int n,m;
char DNA[100][51];
int tmp1[100];
int tmp2[100];
int i, s;

scanf("%d %d", &n, &m);

for(i=0;i
scanf("%s", DNA[i]);

s = unsorted(DNA[i], n);
insert(tmp1, tmp2, s, i);
}

for(i=0;i
printf("%s\n", DNA[tmp2[i]]);
}

return 0;
}

 

Попередня Зміст Наступна
В системі: гості - (); користувачі - (0)