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

UVa 11286 - Conformity

时间:2015-07-21 10:40:24      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

题目:选课系统,每个人选5门课,如果很多人选择相同5门课认为这个组合比较热门,

            现在要求出选择最热门课程组合的选择人数。

分析:数据结构,STL。对每组数据先排序,然后利用map统计求解即可。

            (也可以使用hash表或者利用long long压缩排序统计)

说明:如果有很多人们组合,都算在一起。

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <map>

typedef long long LL;

using namespace std;

int courses[5];

int main()
{
	int n;
	while (cin >> n && n) {
		map<LL, int> Map;
		int maxv = 1, count = 0;
		for (int t = 0; t < n; ++ t) {
			for (int i = 0; i < 5; ++ i)
				cin >> courses[i];
			sort(courses, courses+5);
			LL value = 0LL;
			for (int i = 0; i < 5; ++ i) {
				value *= 1000;
				value += courses[i];
			}
			maxv = max(maxv, Map[value] += 1);
		}
		for (map<LL, int>::iterator it = Map.begin(); it != Map.end(); ++ it)
			if (it->second == maxv) 
				count += maxv;
		
		cout << count << endl;
	}
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

UVa 11286 - Conformity

标签:

原文地址:http://blog.csdn.net/mobius_strip/article/details/46981399

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