DNA排序 poj

来源:互联网 发布:azure aws 阿里云对比 编辑:程序博客网 时间:2024/05/21 03:27

问题描述 :

知道逆序树是什么之后,就只要进行计算就行了,简单的说 :水题

我使用的方法就是先把字符串都放在一个二维数组中,之后给这个二维数组里面的数据求其

逆序数,之后再用选择排序就可以了。

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<iostream>using namespace std;#define     INF     0x3f3f3f3fint n,m,Min,cnt;char str[200][200];int Value[200];int main( void ){    while(scanf("%d%d",&n,&m) != EOF){        memset(Value,0,sizeof(Value));        for(int i = 0;i < m;i++){            scanf("%s",str[i]);        }        for(int i = 0;i < m;i++){            cnt = 0;            for(int j = 0;j < n;j++){                for(int k = j+1;k < n;k++){                    if(str[i][j] > str[i][k])                        cnt++;                }            }            Value[i] = cnt;        }        Min = 0;        for(int i = 0;i < m;i++){            for(int j = 0;j < m;j++){                if(Value[j] < Value[Min]){                    Min = j;                }            }            printf("%s\n",str[Min]);            Value[Min] = INF;        }    }    return 0;}


0 0
原创粉丝点击