POJ 3640 Conformity

简介: POJ 3640 Conformity

题意:一共n个学生,每人5门课程代号(100~499)的组合,这些课程组合的重复次数为受欢迎度。求选受欢迎度最大的课程的学生人数?


思路:将每个学生的五门选课从小到大进行排序,拼成一个15位数,开一个long long类型的数来储存,然后用map容器对该数出现的次数进行累加。


#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int z[5];
int main()
{
    int n;
    while(cin>>n&&n)
    {
      int maxx=0,sum=0;
      map<ll,int> Map;
      for(int i=0;i<n;i++)
      {
      for(int j=0;j<5;j++)
      cin>>z[j];
      sort(z,z+5);
      ll key=0;
      for(int k=0;k<5;k++)
      {
        key*=1000;
        key+=z[k];
      }
      maxx=max(Map[key]+=1,maxx);
      }
      for(map<ll,int>::iterator it=Map.begin();it!=Map.end();it++)
      {
        if(it->second==maxx)
        sum+=maxx;
      }
      cout<<sum<<endl;
    }
    return 0;
}

目录
相关文章
|
1月前
|
算法 数据建模
Poj 3169(差分约束系统)
Poj 3169(差分约束系统)
23 0
poj-3094-quicksum
http://poj.org/problem?id=3094 很简单 #include #include using namespace std; int main() { string a; int sum=0; while(getline(cin...
557 0
|
JavaScript
|
机器学习/深度学习
|
测试技术