Прикреплённый файл «BurrowsWheeler.c»
Загрузка 1 #include <stdio.h>
2 #include <string.h>
3 #include <stdlib.h>
4
5 char S[30000];
6 int I[30000];
7 int N;
8
9 int cmp_shift(const void *a, const void *b)
10 {
11 int i;
12 const int *da = (const int *) a;
13 const int *db = (const int *) b;
14 for (i=0; i<N; i++)
15 if(S[(i+*da)%N]-S[(i+*db)%N]) return S[(i+*da)%N]-S[(i+*db)%N];
16 return 0;
17 }
18
19 int main(int argc, char *argv[]) {
20 int i;
21 scanf("%s",S);
22 N=strlen(S);
23 for(i=0; i<N; i++) I[i]=i;
24 qsort(I,N,sizeof(int),cmp_shift);
25 for(i=0; i<N; i++) printf("%c",S[(I[i]+N-1)%N]);
26 printf("\n");
27 return 0;
28 }
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2012-04-20 11:40:33, 0.6 KB) [[attachment:BurrowsWheeler.c]]
- [получить | показать] (2012-04-20 11:40:20, 3.3 KB) [[attachment:BurrowsWheeler.py]]
- [получить | показать] (2012-04-20 11:39:59, 0.1 KB) [[attachment:BurrowsWheeler_gen.py]]
- [получить | показать] (2012-04-24 23:39:21, 0.1 KB) [[attachment:VyshlovA_mail(part).py]]
- [получить | показать] (2012-04-24 20:39:01, 0.3 KB) [[attachment:ray_matan.py]]
Вам нельзя прикреплять файлы к этой странице.