【CCF】201503_2数字排序
2017-11-26 21:19
98 查看
试题编号: | 201503-2 |
试题名称: | 数字排序 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。 输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。 输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。 样例输入 12 5 2 3 3 1 3 4 2 5 2 3 5 样例输出 3 4 2 3 5 3 1 1 4 1 评测用例规模与约定 1 ≤ n ≤ 1000,给出的数都是不超过1000的非负整数。 |
#include <iostream> #include <cstdio> #include <string> #include <map> #include <algorithm> using namespace std; struct num_mp{ int num_a; int su 99ef m = 0; }mp[1001]; bool cmp(num_mp a, num_mp b){ if(a.sum != b.sum) return a.sum > b.sum; else return a.num_a < b.num_a; } int main(){ int n, a, k=0; scanf("%d", &n); for(int i = 0; i<n; i++){ scanf("%d", &a); int flag = 0; for(int j = 0; j<k; j++){ if(a == mp[j].num_a){ mp[j].sum ++; flag = 1; break; } } if(!flag){ mp[k].num_a = a; mp[k].sum=1; k++; } } sort(mp, mp+k, cmp); for(int i = 0; i<k; i++){ printf("%d %d\n",mp[i].num_a,mp[i].sum); } }
相关文章推荐
- CCF CSP 201503-2 数字排序
- CCF考试——201503-2数字排序
- CCF系列之数字排序(201503-2)
- (JAVA)数字排序-CCF-201503-2
- ccf 201503-2数字排序
- CCF CSP 201503-2:数字排序
- CCF数字排序JAVA答案
- 2015年3月CCF计算机软件能力认证题:数字排序
- CCF-训练50题-NO.3-数字排序问题
- CCF真题之数字排序
- CCF计算机职业资格认证数字排序问题
- 数字排序-CCF测试往届题
- CCF之数字排序(java)
- ccf 数字排序
- CCF 数字排序
- 201503-2数字排序
- CCF 历年真题之数字排序(_1503_2_NumericalSorting.java )参考答案
- 题目:输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。 例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,
- 对字符串数字 进行排序操作
- 更改排序数字的数量