首页 > 代码库 > [算法] POJ1007
[算法] POJ1007
网址:http://poj.org/problem?id=1007
首先定义一个字符串大小的概念:右边的字母小于前边字母的数量。给定多组字符串,按照大小顺序输出。
用到的方法:
排序算法
首先需要排序,然后对排序后得到的index进行以下的处理
index_1[index[i]]=i;
最终得到输出。
Sample Input
10 6AACATGAAGGTTTTGGCCAATTTGGCCAAAGATCAGATTTCCCGGGGGGAATCGATGCAT
Sample Output
CCCGGGGGGAAACATGAAGGGATCAGATTTATCGATGCATTTTTGGCCAATTTGGCCAAA
源代码
#include<stdio.h>int main(){ int column,raw,i,j,k; char str[100][100]; int sort[100]; int sort_index[100]; int sort_index1[100]; scanf("%d %d",&column,&raw); getchar(); for(i=0;i<raw;i++) { for(j=0;j<column;j++) { str[i][j]=getchar(); } getchar(); } for(i=0;i<raw;i++) { sort_index[i]=0; sort[i]=0; for(j=0;j<column-1;j++) { for(k=j+1;k<column;k++) { if(str[i][j]>str[i][k]) sort[i]++; } } } for(i=0;i<raw-1;i++) { for(j=i+1;j<raw;j++) { if(sort[i]>sort[j]) sort_index[i]++; else sort_index[j]++; } } for(i=0;i<raw;i++) { sort_index1[sort_index[i]]=i; } for(i=0;i<raw;i++) { for(j=0;j<column;j++) { printf("%c",str[sort_index1[i]][j]); } printf("\n"); } return 0;}
[算法] POJ1007
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。