码迷,mamicode.com
首页 > 其他好文 > 详细

POJ1007

时间:2016-07-30 00:33:40      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

数据范围很小,直接O(n2)统计一下每个字符串逆序对数目,排个序就好了,有点惊讶,用了string,cin竟然还是0ms过的

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
#define PII pair<int,int>
const int N_MAX=50+10,M_MAX=100+10;
int n,m;string str[M_MAX];PII cnt[M_MAX];
int main(){
	scanf("%d%d", &n, &m);
	for (int i=1; i<=m; ++i){
		cin>>str[i]; cnt[i].first=0; cnt[i].second=i;
		for (string::iterator it_i=str[i].begin(); it_i!=str[i].end(); ++it_i)
			for (string::iterator it_j=it_i+1; it_j!=str[i].end(); ++it_j)
				if (*it_j<*it_i)
					++cnt[i].first;
	}
	sort(cnt+1,cnt+m+1);
	for (int i=1; i<=m; ++i)
		cout<<str[cnt[i].second]<<endl;
	return 0;
}

 

POJ1007

标签:

原文地址:http://www.cnblogs.com/bauu-yyx/p/5719946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!