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

北大ACM1007——DNA Sorting

时间:2015-06-14 12:35:48      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:北大acm   cstring   

简单的题目,如题:找出字符串中的反转次数。按反转次数从小到大输出。

反转次数,就是字符串中的每一个跟它后面的每一个字符比较,比后面的大的,次数+1.

下面的是AC的代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

class data
{
public:
	char str[55];
	int count;
};
data Dd[102];

int cmp(data &a, data &b)
{
	return a.count < b.count;
}

int main()
{
//	freopen("data.txt", "r", stdin);
	int m, n;
	char temp[55];
	int i, j, k;
	cin >> m >> n;
	for(i = 0; i < n; i++)
	{
		cin >> temp;
		int c = 0;
		for(j = 0; j < m - 1; j++)
		{
			for(k = j + 1; k < m; k++)
			{
				if(temp[j] > temp[k])
					c++;
			}
		}
		Dd[i].count = c;
		strcpy(Dd[i].str, temp);
	}
	sort(Dd, Dd + n, cmp);
	for(i = 0; i < n; i++)
		cout << Dd[i].str << endl;
	return 0;
}

运用类,在输入的时候,算出反转次数。

排序一下就OK了。

北大ACM1007——DNA Sorting

标签:北大acm   cstring   

原文地址:http://blog.csdn.net/qq_25425023/article/details/46489649

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