CCF-201503-2-数字排序
| 试题编号: | 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的非负整数。
|
解题思路:
按照桶排序的思想,开好多个结构体的桶,再按照结构体的关键字排序,外层从大到小,内层从小到大
因为sort没有确定好,结果得了一个70,索性改成最大才1005,不会超时的,得分100
源代码:
<span style="font-size:18px;">#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<stack>
#include<queue>
#include<vector>
#include<deque>
#include<map>
#include<set>
#include<algorithm>
#include<string>
#include<iomanip>
#include<cstdlib>
#include<cmath>
#include<sstream>
#include<ctime>
using namespace std; typedef long long ll; struct node
{
int number;
int cnt;
}ans[1005]; bool cmp(node a, node b)
{
if(a.cnt>b.cnt)
return 1;
else if(a.cnt<b.cnt)
return 0;
else
{
if(a.number<b.number)
return 1;
else
return 0;
}
return 0;
} void init()
{
for(int i=0;i<=1000;i++)
{
ans[i].number=i;
ans[i].cnt=0;
}
}
int main()
{
int n;
int num;
init();
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&num);
ans[num].cnt++;
}
sort(ans,ans+1005,cmp);
for(int i=0;i<=1000;i++)
{
if(ans[i].cnt==0)
{
break;
}
else
{
printf("%d %d\n",ans[i].number,ans[i].cnt);
}
}
return 0;
}
</span>
CCF-201503-2-数字排序的更多相关文章
- CCF CSP 201503-2 数字排序
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201503-2 数字排序 问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到 ...
- CCF系列之数字排序(201503-2)
问题描述试题编号: 201503-2试题名称: 数字排序时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出. 输 ...
- CCF CSP 201503-2 数字排序 (map+自定义排序)
题目链接:http://118.190.20.162/view.page?gpid=T26 返回试题列表 问题描述 试题编号: 201503-2 试题名称: 数字排序 时间限制: 1.0s 内存限制: ...
- 基于Hadoop 2.6.0运行数字排序的计算
上个博客写了Hadoop2.6.0的环境部署,下面写一个简单的基于数字排序的小程序,真正实现分布式的计算,原理就是对多个文件中的数字进行排序,每个文件中每个数字占一行,排序原理是按行读取后分块进行排序 ...
- SQL SERVER 字符串按数字排序
需求是这样的: 数据库表里面有一个字段类型是nvachar,存的值是数字和字符混合的,要实现先按数字排序,再按字母倒序. 思路: 考虑这个字段的值是否是有规律可循的,把要按数字排序的部分转换为数字,再 ...
- JavaScript按纯数字排序
直接上代码: var arr=[ {name:"张散步",age:"23",sports:"篮球",number:"23112 ...
- php冒泡排序实现方法,传入几个数字排序后 输出实战例子
php冒泡排序实现方法,传入几个数字排序后 输出实战例子 算法和数据结构是一个编程工作人员的内功.四种入门级排序算法: 冒泡排序.选择排序.插入排序.快速排序. 一.冒泡排序 原理:对一组数据,比较相 ...
- mysql将字符串字段转为数字排序或比大小
SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...
- sort()函数到底是怎样进行数字排序的
很多人会用sort(),并不见得知道它具体是怎样给数字排序的.其实不知道也行,会用就可以,感兴趣的可以来看看. var numberArray = [2,4,1,3]; numberArray.sor ...
- CCF201503-2 数字排序 java(100分)
试题编号: 201503-2 试题名称: 数字排序 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出. 输 ...
随机推荐
- Java项目打包方式分析
[TOC] 概述 在项目实践过程中,有个需求需要做一个引擎能执行指定jar包的指定main方法. 起初我们以一个简单的spring-boot项目进行测试,使用spring-boot-maven-plu ...
- 使用canvas实现环形进度条
html代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...
- MQTT——连接报文
学习MQTT协议.如果只是看了相关文档就认为可以了.那是一个错误的观念.笔者为了能更好的去理解MQTT协议.看了不少相关的开源Broker的项目.可惜这些项目一般都是不完全的.不过从这些项目中笔者至少 ...
- git常用命令集合
git命令 git init:创建一个仓库并在目录下新建一个.git的文件(初始化一个git仓库) 注:.git文件在工作区,是一个隐藏文件(用ls -ah命令查看),但是它不算工作区,而是git 的 ...
- QT生成PDF文件
QString temp=""; //m_File_Content_Text_Edit->selectAll(); QString t_File_Content = m_Fi ...
- 关于安卓手机的牛逼软件termux使用
最近在学着用linux,偶尔发现了一款神奇的软件--termux,termux是一款来自国外的终端模拟器,是运行在内部存储上的程序(不在内存卡上),功能比较强大,启动程序之后会进入命令行终端,需要基本 ...
- PTA 数据结构 银行业务队列简单模拟
仅供参考,请勿粘贴 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达银行的顾客序列,请按业务完 ...
- java与OC比较
转自:http://blog.sina.com.cn/s/blog_93742d0d010165qi.html 1.Cocoa是什么?Cocoa是使用OC语言编写的工具包,里面有大量的类库.结构体,说 ...
- 无状态的web应用(单个py文件的Django占位图片服务器)
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 阅读本文建议了解Django框架的基本工作流程,了解WSGI应用,如果对以上不是很清楚,建议结 ...
- 前端面试题(4)iframe有哪些优点?iframe缺点是什么?
优点: iframe能够原封不动的把嵌入的网页展现出来. 如果有多个网页引用iframe,那么你只需要修改iframe的内容,就可以实现调用的每一个页面内容的更改,方便快捷. 网页如果为了统一风格,头 ...