HDU 5038 Grade
来源:互联网 发布:网络课程运营 编辑:程序博客网 时间:2024/05/02 01:05
其实我觉得这题的关键在于读懂他到底想说什么。。。他的意思应该是如果数目最大的有多个,但没有其他数目上小于其的数的话,那就不成立,也就是说,只有当有多个数数目都是最大的,且所有的数都在数目最大的那种情况中时才算不成立(注意如果只有一个数那他还是成立的)
#include <stdio.h>#include<vector>#include <cstring>#include<algorithm>using namespace std; int a[1000000+10];int re[30000];int l,num[30000];int ans[30000];vector<int> v;int main(){int t;int n;int i,j,k;int icase;int maxnum;scanf("%d",&t);for(icase=1;icase<=t;icase++){memset(num,0,sizeof(num));l=0,maxnum=0;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&a[i]);int s=10000-(100-a[i])*(100-a[i]);if(l==0){re[++l]=s;num[l]=1;v.clear();v.push_back(1);maxnum=1;}else{int key=1;for(j=1;j<=l;j++){if(re[j]==s){num[j]++;if(num[j]>maxnum){maxnum=num[j];v.clear();v.push_back(j);}else if(num[j]==maxnum){v.push_back(j);}key=0;break;}}if(key){re[++l]=s;num[l]=1;if(maxnum==1){v.push_back(l);}}}}printf("Case #%d:\n",icase);if(l==v.size()&&l>1)printf("Bad Mushroom\n");else{for(i=0;i<v.size();i++)ans[i]=re[v[i]];sort(ans,ans+i);for(i=0;i<v.size()-1;i++)printf("%d ",ans[i]);printf("%d\n",ans[i]);}}return 0;}
1 0
- HDU 5038 Grade
- HDU - 5038 Grade
- [ACM] hdu 5038 Grade
- hdu 5038 Grade(水题)
- hdu 5038 Grade
- HDU 5038 Grade
- HDU 5038Grade
- HDU 5038 Grade
- HDU 5038 Grade
- HDU 5038 Grade
- hdu 5038——Grade
- hdu 5038 Grade(水)
- HDU 5038 Grade(数学)
- HDU 5038(Grade-桶排)
- HDU——5038 Grade
- hdu - 5038 - Grade(模拟)
- HDU 5038 Grade(哈希水题)
- HDU 5038 Grade(水~)
- 上传文件
- java反射详解
- js实现复杂图片切换
- 设计模式之——简单工厂设计模式
- POJ2418——Hardwood Species
- HDU 5038 Grade
- 数据结构实验之排序二:交换排序
- hdoj5371Hotaru's problem【Manacher】
- javaScript实例:tab切换效果
- ThreadLocal的原理和在框架中的应用
- html+css鼠标悬浮显示图片
- 线程---买票问题
- ListView实现会话气泡
- android布局(二)——FrameLayout