HDOJ 5038 Grade
来源:互联网 发布:excel两列数据找相同 编辑:程序博客网 时间:2024/06/05 10:12
题意:根据题给公式计算s,输出s数量最多的数。如果个数相同,按升序输出。当每个s的数量都相等时输出BadMushroom。
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5038
思路:每个输入的数据转化为s,并计数,排序得到数量最多 的S的值,并输出。
注意点:当s仅为一种值的时候输出s。
以下为AC代码:
#include <iostream>#include <algorithm>#include <cstdio>#include <vector>#include <set>#include <cmath>#include <cstring>#include <iomanip>using namespace std;struct node { int n; int cnt;}num[205];set<int> p;int calc ( int i ){ p.insert ( 10000 - ( i ) * ( i ) );}void init ( const int &n ){ int k; for ( int i = 0; i < 205; i ++ ) { num[i].n = i; num[i].cnt = 0; } for ( int i = 0; i < n; i ++ ) { cin >> k; if ( k <= 100 ) { num[100 - k].cnt ++; } else { num[k - 100].cnt ++; } }}bool cmp ( const node &a, const node & b ){ return a.cnt > b.cnt ? 1 : 0;}int main(){ ios::sync_with_stdio( false ); int ncase; cin >> ncase; //int num[105]; //while ( t -- ) for ( int t = 1; t <= ncase; t ++ ) { cout << "Case #" << t << ":" << endl; p.clear(); int flag = 0; int n; int k; cin >> n; memset ( num, 0, sizeof ( num ) ); init ( n ); sort ( num, num + 100, cmp ); int tmp = num[0].cnt; if ( num[1].cnt == 0 ) { flag = 1; } for ( int i = 0; i < 205; i ++ ) { if ( num[i].cnt == tmp ) { calc( num[i].n ); } if ( num[i].cnt != tmp && num[i].cnt != 0 ) { flag = 1; } } set<int>::iterator it = p.begin(); if ( ! flag ) { cout << "Bad Mushroom" << endl; } else { cout << *it; it ++; for ( ; it != p.end(); it ++ ) { cout << ' ' << *it; } cout << endl; } } return 0;}
0 0
- HDOJ 5038 Grade
- HDOJ 5038 Grade
- hdoj 5038 Grade【众数】
- HDOJ 5038 Grade (模拟)
- hdoj 1084 What Is Your Grade?
- hdoj 1084 What Is Your Grade?
- hdoj 1084 What Is Your Grade?
- HDOJ 1084 What Is Your Grade?
- HDOJ 1084 What Is Your Grade?
- HDOJ 1084 What Is Your Grade?
- HDOJ HDU 1084 What Is Your Grade?
- HDU 5038 Grade
- HDU - 5038 Grade
- [ACM] hdu 5038 Grade
- hdu 5038 Grade(水题)
- hdu 5038 Grade
- HDU 5038 Grade
- HDU 5038Grade
- mac下cocos2dx3.x的创建项目
- 8、常用Android类型转换
- 非Activity中使用startActivity的问题
- 四种"不作死就不会死"的App产品设计
- 黑马程序员——Java基础(二) -- 流程控制语句和方法
- HDOJ 5038 Grade
- 39 练习:投票系统
- WebForm 错误页
- 操作系统面试t
- 安装Oracle 11g数据库服务器
- Oracle性能分析9:重建索引
- hdu2473——Junk-Mail Filter(并查集+虚父节点的使用)
- Unity里获取Material里所有的Texture
- test