CCF系列之数字排序(201503-2)

问题描述
试题编号: 201503-2
试题名称: 数字排序
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。
输入格式
  输入的第一行包含一个整数n,表示给定数字的个数。
  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。
输出格式
  输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。
样例输入
  5 2 3 3 1 3 4 2 5 2 3 5
样例输出
  4
  3
  3
  1
  1
评测用例规模与约定
  1≤ n ≤ 1000,给出的数都是不超过1000的非负整数

时间: 2024-10-10 15:15:22

CCF系列之数字排序(201503-2)的相关文章

CCF 201503-2 数字排序

CCF 201503-2 数字排序 思路:数组下标作为输入的整数,数组元素作为其下标整数出现的次数. 关键在输出时的方法,先倒序循环出现的次数最大出现次数不过1000次,再从小到大循环下标,有出现次数与数组元素相同的就输出 下标和出现次数.这样就满足了题中要求. 1 #include<iostream> 2 #include<cstring> 3 #include<vector> 4 using namespace std; 5 int arr[1001];///数据不

[Python]CCF——数字排序(201503-2)

数字排序 一.问题描述 问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出. 输入格式 输入的第一行包含一个整数n,表示给定数字的个数. 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数. 输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数.按出现次数递减的顺序输出.如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的. 样例输入 12 5 2 3 3 1 3 4 2 5 2 3 5 样例输出 样例输出 3 4

算法系列笔记1(排序)

本次主要记录一些经典的排序算法,其中包括冒泡排序.直接选择排序.插入排序.归并排序.快速排序.堆排序.希尔排序.桶排序以及计数排序和基数排序.首先会给出这些排序算法的基本思想,然后给出实现的代码,最后会给出其时间复杂度. 1:冒泡排序 思想: (1):比较相邻的前后两个元素,如果后面的数据小于前面的数据,则交换这两个数据的位置.这样经过一次遍历,最小的元素将在第0个位置,属于"冒泡". (2):重复第一步,依次将第二小-的元素排列到数组的顶端. // 交换数据的三种方法 void sw

(转) 白话经典算法系列之三 希尔排序的实现(附源代码实现)

链接:http://blog.csdn.net/morewindows/article/details/6668714 希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名. 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序.因为直接插入排序在元素基本有序的情况下(接近最好情况),效率

基本排序系列之计数排序

简述计数排序 看了好多别人写的计数排序,看了好久都没看懂,弄了好久最后发现这么简单居然花了几个小时,所以在这里写上,希望和我一样的初学者不会再绕弯路. 一.简述计数排序的思想: 设被排序的数组为A,排序后存储到B,C为临时数组.所谓计数,首先是通过一个数组C[i]计算大小等于i的元素个数,此过程只需要一次循环遍历就可以:在此基础上,计算小于或者等于i的元素个数,也是一重循环就完成.下一步是关键:逆序循环,从length[A]到1,将A[i]放到B中第C[A[i]]个位置上.原理是:C[A[i]]

数组值数字+中文,以数字排序

数组中文加数字 以数字排序 $a['4']='123区'; $a['5']='3区'; $a['6']='32区'; $a['7']='8区'; foreach ($a as $k => $v) { preg_match('/\d+/',$v,$arr); if(!empty($arr)){ $name[$k] = $arr[0]; }else{ $name[$k] = $v; } } array_multisort($name,SORT_ASC,SORT_NUMERIC,$a); var_du

输入三个数字排序显示

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>输入三个数字排序显示</title></head><body><p>第一个输入框</p><input type="text" id="a1"/> <p>

数字排序

题编号:    201503-2 试题名称:    数字排序时间限制:    1.0s内存限制:    256.0MB问题描述: 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出.输入格式: 输入的第一行包含一个整数n,表示给定数字的个数. 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数.输出格式: 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数.按出现次数递减的顺序输出.如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的

文件名数字排序

问题: 每个文件名都是4个整数(0 到 100)中间用"."连接,如下format: N.N.N.N example: 1.8.1.2 1.13.1.1 1.3.0.1 2.7.4.1 14.0.0.4 要求, 文件名按数字排序,从左往右四个数字均按照从小到大排序,预期结果1.3.0.1 1.8.1.2 1.13.1.1 2.7.4.1 14.0.0.4 解答: ls|sort -n -t. -k1,1 -k2,2 -k3,3 -k4,4 1.3.0.1 1.8.1.2 1.13.1.