SiriBlog

siriyang的个人博客


  • 首页

  • 排行榜

  • 标签115

  • 分类37

  • 归档320

  • 关于

  • 搜索

CCF-CSP:201503-2数字排序

发表于 2020-01-25 更新于 2021-10-29 分类于 计算机 , 算法题 , CCF-CSP 阅读次数: Valine:
本文字数: 1k 阅读时长 ≈ 1 分钟

CCF-CSP题目汇总

题目

试题编号: 201503-2
试题名称: 数字排序
时间限制: 1.0s
内存限制: 256.0MB

问题描述

  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。

输入格式

  输入的第一行包含一个整数n,表示给定数字的个数。
  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。

输出格式

  输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。

样例输入

1
2
12
5 2 3 3 1 3 4 2 5 2 3 5

样例输出

1
2
3
4
5
3 4
2 3
5 3
1 1
4 1

评测用例规模与约定

  1 $\le$ n $\le$ 1000,给出的数都是不超过1000的非负整数。

解答

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <algorithm>

using namespace std;

typedef struct Num{
int k,v;
}Num;

bool cmp(Num n1,Num n2){
if(n1.v!=n2.v)
return n1.v>n2.v;
else
return n1.k<n2.k;
}

int main(){

Num num[1001];
int n;

for(int i=0;i<1001;i++){
num[i].k=i+1;
num[i].v=0;
}

cin>>n;

for(int i=0;i<n;i++){
int t;
cin>>t;
num[t-1].v++;
}

sort(num,num+1001,cmp);

for(int i=0;i<1001;i++){
if(num[i].v)
cout<<num[i].k<<" "<<num[i].v<<endl;
}

return 0;
}
-------- 本文结束 感谢阅读 --------
相关文章
  • CCF-CSP:201409-3字符串匹配
  • CCF-CSP:201403-3命令行选项
  • CCF-CSP/201312-3最大的矩形
  • CCF-CSP:201403-2窗口
  • CCF-CSP:201403-1相反数
觉得文章写的不错的话,请我喝瓶怡宝吧!😀
SiriYang 微信支付

微信支付

SiriYang 支付宝

支付宝

  • 本文标题: CCF-CSP:201503-2数字排序
  • 本文作者: SiriYang
  • 创建时间: 2020年01月25日 - 16时01分
  • 修改时间: 2021年10月29日 - 18时10分
  • 本文链接: https://blog.siriyang.cn/posts/20200125162040id.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
算法题 CCF-CSP
CCF-CSP:201412-1门禁系统
CCF-CSP:201503-1图像旋转
  • 文章目录
  • 站点概览
SiriYang

SiriYang

努力搬砖攒钱买镜头的摄影迷
320 日志
33 分类
88 标签
RSS
GitHub E-Mail
Creative Commons
Links
  • 友情链接
  • 作品商铺

  1. 题目
    1. 问题描述
    2. 输入格式
    3. 输出格式
    4. 样例输入
    5. 样例输出
    6. 评测用例规模与约定
  2. 解答
    1. 代码
蜀ICP备19008337号 © 2019 – 2025 SiriYang | 1.7m | 25:41
0%