POJ 3640 Conformity
来源:互联网 发布:淘宝马甲是什么意思啊 编辑:程序博客网 时间:2024/06/16 10:49
题意:n个学生,每人5门课程代号(100~499)的组合,定义这些课程组合的重复次数为受欢迎度。问选受欢迎度最大的课程组合的学生人数是多少。
题解:将每个学生所选的5门课进行从小到大排序,拼起来组成一个15位的数。即:
for(int j=0;j<5;j++)
temp=temp*1000+x[j];
由于变换之后的数太大,所以要哈希一下在存储。接下来再判重即可。
#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> using namespace std; const long long MOD=100007; long long Hash[MOD],pos[MOD],pop[MOD],x[6]; int Getkey(long long num){ int temp=num%MOD; while(Hash[temp]!=-1&&Hash[temp]!=num) temp=(temp+1)%MOD; return temp; } int main() { int n; while(scanf("%d",&n),n){ long long ans=0; memset(pop,0,sizeof(pop)); memset(Hash,-1,sizeof(Hash)); for(int i=0;i<n;i++){ for(int j=0;j<5;j++) scanf("%I64d",&x[j]); sort(x,x+5); long long temp=0; for(int j=0;j<5;j++) temp=temp*1000+x[j]; int ps=Getkey(temp); Hash[ps]=temp; ans=max(ans,++pop[pos[i]=ps]); } int cnt=0; for(int j=0;j<n;j++){ if(pop[pos[j]]==ans) cnt++; } printf("%d\n",cnt); } return 0; }
- POJ 3640 Conformity
- POJ 3640 Conformity(Hash)
- POJ 3640 Conformity 可能会
- 【hash】Conformity
- Sicily 1453. Conformity
- UVa 11286 - Conformity
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- POJ
- 查看sql语句执行时间/测试sql语句性能
- 刚毕业没几年,别去计较太多得失
- 页面框架布局
- 简单Blog项目笔记之三:用户登录模块(验证码、MD5)
- JAVA Synchronized 详解(二)
- POJ 3640 Conformity
- MapReduce:默认Counter的含义
- HashMap遍历
- Java编程中的绝对路经和相对路径
- 解析Android如何利用Handler
- QTP11与QC11框架整理源代码
- The Elephant Man——Chapter 6 Outside the Hospital
- MFC框架程序中OnIdle
- 如何正确手工启动Windows下的Oracle RAC数据库