小哼买书(明明的随机数通用)

2024-04-17 15:48
文章标签 通用 随机数 明明

本文主要是介绍小哼买书(明明的随机数通用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好!我是啊哈磊的小粉粉

(在 there,我就 not 报上真名啦)
插一句哈,
蒟蒻第一次写题解,鼓励一下,点个赞再看呗?

今天呢,蒟蒻在啊哈星球上边看到了一个很棒滴题目,

在这里先与大家分享分享:

直上题目:

12001.小哼买书

小哼的学校要建立一个图书角,老师派小哼去找一些同学做调查,看看同学们都喜欢读哪些书。小哼让每个同学写出一个自己最想读的书的ISBN号(你知道吗?每本书都有唯一的ISBN号,不信话你去找本书翻到背面看看)。当然有一些好书会有很多同学都喜欢,这样就会收集到很多重复的ISBN号。小哼需要去掉其中重复的ISBN号,即每个ISBN号只保留一个,也就说同样的书只买一本(学校真是够抠门的)。然后再把这些ISBN号从小到大排序,小哼将按照排序好的ISBN号去书店去买书。请你协助小哼完成“去重”与“排序”的工作。

输入格式:

输入有2行,第1行为一个正整数,表示有n个同学参与调查(n<=100)。第2行有n个用空格隔开的正整数,为每本图书的ISBN号(假设图书的ISBN号在1~1000之间)。

输出格式:

输出也是2行,第1行为一个正整数k,表示需要买多少本书。第2行为k个用空格隔开的正整数,为从小到大已排好序的需要购买的图书ISBN号。

限制:

每个测试点1秒
样例 1 :

输入:
10
20 40 32 67 40 20 89 300 400 15

输出:
8
15 20 32 40 67 89 300 400

我的理解:

首先,这一道题其实是由 全国青少年信息学奥林匹克联赛(NOIP2006)普及组第一题《明明的随机数》 改编的,

当我们看到题目中的 “只能买一种” 就很容易可以想到

如果这句话伤害到了你 ,我表示深深地歉意)

适合用桶排序来做 (“桶排序”如果不懂的可以查阅一下)

再看看数据,1000是完全够的,所以放心做吧,

但一定要记得,这一道题的编码相同的只需要输出一次就够了,所以就算有多个相同的也应该只输出一次,
(具体怎样看看代码吧)

来吧!直击code!

#include<stdio.h>
//用桶排序实现
int main() {int a[1001];int i;int n;//ISBN号总数int k=0;//去重后的ISBN号总数 int isbn;//用来暂存isbn号,约定 for(i=0;i<=1000;i++) {a[i]=0;} 
//    printf("输入ISBN号总数\n");scanf("%d",&n);
//    printf("输入%d个ISBN号,中间用空格隔开\n",n);for(i=1;i<=n;i++) {scanf("%d",&isbn);
//        a[isbn]++;//效果一样 a[isbn]=1;}
//    printf("去重并从小到大排序的ISBN号如下:\n");for(i=1;i<=1000;i++) {if(a[i]!=0) {k++;}}printf("%d\n",k);for(i=1;i<=1000;i++) {if(a[i]!=0) {printf("%d ",i);}}printf("\n");return 0;
}

既然已经看到这了,不如点个赞再走吧!

这篇关于小哼买书(明明的随机数通用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/912223

相关文章

明明的随机数处理问题分析与解决方案

明明的随机数处理问题分析与解决方案 引言问题描述解决方案数据结构设计具体步骤伪代码C语言实现详细解释读取输入去重操作排序操作输出结果复杂度分析 引言 明明生成了N个1到500之间的随机整数,我们需要对这些整数进行处理,删去重复的数字,然后进行排序并输出结果。本文将详细讲解如何通过算法、数据结构以及C语言来解决这个问题。我们将会使用数组和哈希表来实现去重操作,再利用排序算法对结果

j2EE通用jar包的作用

原文:http://blog.sina.com.cn/s/blog_610901710101kx37.html IKIKAnalyzer3.2.8.jar // 分词器 ant-junit4.jar // ant junit antlr-2.7.6.jar // 没有此包,hibernate不会执行hql语句。并且会报NoClassDefFoundError: antlr

通用内存快照裁剪压缩库Tailor介绍及源码分析(一)

背景 我们知道内存快照是治理 OOM 问题及其他类型的内存问题的重要数据源,内存快照中保存了进程虚拟机的完整的堆内存数据,很多时候也是调查其他类型异常的重要参考。但是dump出来的堆转储文件.hprof往往很大,以 LargeHeap 应用为例,其 OOM 时的内存快照大小通常在512M左右,要有效的存储和获取都是一个问题。 线下拿到hprof文件相对容易,也可以预防OOM,但覆盖的场景十分有

SpringBoot中利用EasyExcel+aop实现一个通用Excel导出功能

一、结果展示 主要功能:可以根据前端传递的参数,导出指定列、指定行 1.1 案例一 前端页面 传递参数 {"excelName": "导出用户信息1725738666946","sheetName": "导出用户信息","fieldList": [{"fieldName": "userId","fieldDesc": "用户id"},{"fieldName": "age","fieldDe

数据结构(邓俊辉)学习笔记】排序 5——选取:通用算法

文章目录 1. 尝试2. quickSelect3.linearSelect:算法4. linearSelect:性能分析5. linearSelect:性能分析B6. linearSelect:性能分析C 1. 尝试 在讨论过众数以及特殊情况下中位数的计算方法以后,接下来针对一般性的选取问题,介绍优化的通用算法。 既然选取问题的查找目标就是在整个数据集中按大小次序秩为 k

c++通用模板类(template class)定义实现详细介绍

有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:class Compare_int { public : Compare(int a,int b) { x=a; y=b; } int max( ) { return (x>y)?x:y; } int min( ) { return (x&... 有时,有两个或多个类,其功能是相同的,仅仅是数

Java生成随机数工具类,进制之间的转换工具类,获取指定时间,时间格式转换工具类

废话不多说,贡献一下code 1.编号生成工具 import org.apache.commons.lang3.StringUtils;import java.math.BigInteger;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;/*** 编号生成工具*/@

NXP,S32K1XX汽车通用微控制器开发笔记

文章目录 1. 概述2. 开发环境配置2.1 S32 Design Studio2.2 安装SDK2.3 新建demo工程2.4 字体配置2.5 按需求修改demo2.5.1 修改pin脚定义2.5.2 增加串口打印功能 2.6 编译代码2.7 debuger 配置 参考 1. 概述 S32K1系列32位微控制器(MCU)提供基于Arm® Cortex®-M的MCU,以及基

使用Mybatis SqlProvider类相关注解生成通用Mapper接口

使用Mybatis SqlProvider类相关注解生成通用Mapper接口 1. 使用Mybatis @SelectProvider @InsertProvider @UpdateProvider @DeleteProvider注解封装BaseMapper<E, I>通用接口, 普通实体类Mapper接口只需要继承该接口, 即可实现基础常用的CRUD功能. BaseMapper<E, I>

React 通用后台管理项目

React 通用后台管理项目 项目介绍 本项目是基于React的通用后台管理系统,整体系统有数据可视化展示,数据基本的增删改查功能。项目使用 Create React App创建,主语言为JavaScript。在使用React框架过程中通过hook进行页面逻辑编写。后端接口数据使用Mock进行模拟。 开源项目代码地址 https://github.com/yaodada123/react-