作死上CODEVS,青铜题
题面:输入一列整数,输出它们的总和、最大值、最小值、并从大到小输出。
先上一波伪代码,认真地做一波数组排序题。
#include<stdio.h> #include<math.h> ] , b[]; int main () { , min = pow( , ) - , max = -pow(,); scanf("%d",&a); ; i <= a ; i ++) { scanf("%d",&c[i]); sum += c[i]; if(c[i] > max) max = c[i] ; if(c[i] < min) min = c[i] ; //先统计不重复的个数,记为An 。 //桶排序,或者冒泡排序进行排序,注意重复的值,放到这个数组b中。 ; } printf("%d\n%d\n",max,min); ; k <= /*An*/; k ++ ) printf("%d\n",b[k]); ; }
伪代码
不知道有没有把这个题做复杂,总之在啥都不会的情况下,第一个想到的是桶排序,然而只会冒泡排序的部分。
//一会专门开一个随笔写写自己对于那些排序的理解与想法。
很皮,在研究一番桶排序之后,发现桶排序,就是将值放到另一个数组对应的值的数组位数上面去,b[c[i]] = 1,如果需要多次输入,改成b[c[i]] ++即可。
于是很兴奋地试了样例,过了,交上去,果断WA了,尬的一批。
#include<stdio.h> #include<math.h> ] , b[]; int main () { , min = pow( , ) - , max = -pow(,); scanf("%d",&a); ; i <= a ; i ++) { scanf("%d",&c[i]); sum += c[i]; if(c[i] > max) max = c[i] ; if(c[i] < min) min = c[i] ; b[c[i]] = ; } printf("%d\n%d\n%d\n%d\n",sum,max,min,max); ; j -- ) ; k < b[j]; k ++ ) printf("%d\n",j); ; }
第一次交
于是观察到了一个奇葩的值
10 9 9 9 9 9 9 9 9 9 9
在我的第一个桶排序中,很迷地输出不了最大值,于是在for循环前加了一个最大值,导致这组值输出的多了一个9。问题不大,在外层循环的地方扩到了最大,很愉快地过了。
#include<stdio.h> #include<math.h> ] , b[]; int main () { , min = pow( , ) - , max = -pow(,); scanf("%d",&a); ; i <= a ; i ++) { scanf("%d",&c[i]); sum += c[i]; if(c[i] > max) max = c[i] ; if(c[i] < min) min = c[i] ; b[c[i]] = ; } printf("%d\n%d\n%d\n",sum,max,min); ; j >= ; j -- ) ; k < b[j]; k ++ ) printf("%d\n",j); ; }
但是最后还是WA了一个点,因为500太小了,测试点有一个是5058,就没有输出。
最终完成代码
#include<stdio.h> #include<math.h> ] , b[]; int main () { , min = pow( , ) - , max = -pow(,); scanf("%d",&a); ; i <= a ; i ++) { scanf("%d",&c[i]); sum += c[i]; if(c[i] > max) max = c[i] ; if(c[i] < min) min = c[i] ; b[c[i]] = ; } printf("%d\n%d\n%d\n",sum,max,min); ; j >= ; j -- ) ; k < b[j]; k ++ ) printf("%d\n",j); ; }
AC代码
ps:我觉得我的代码不丑吧,虽然在算法方面很颓,但是还是算得上工整好看的吧。
复习了桶排序,近40分钟才A了这么一道题,尬。
那是我愿意付诸一生的人,现在却没法拥有。
作死上CODEVS,青铜题的更多相关文章
- codevs 搜索题汇总(青铜+白银级)
1792 分解质因数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 编写一个把整数N分解为质因数乘积的程序. 输入描 ...
- 用python做oj上的简单题(持续更新中.......)
本人刚開始接触python,在oj上解一些简单的题,欢迎交流,不喜勿喷. OJ地址链接:acm.sdut.edu.cn http://acm.sdut.edu.cn/sdutoj/showproble ...
- hdoj上的一题和程序设计第二次作业的拓展-人见人爱a+b
hdoj上一道有意思的题目,题目: 人见人爱a+b 敲的也蛮快的,大概十分钟左右就AC了.代码如下: 人见人爱a+b #include<stdio.h> int main() { int ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 F题 Clever King(最小割)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- 网络流 24 题汇总(LOJ 上只有 22 题???)
太裸的我就不放代码了...(黑体字序号的题表示值得注意) 1.搭配飞行员 [LOJ#6000] 二分图最大匹配. 2.太空飞行计划 [LOJ#6001] 最小割常规套路.输出方案.(注:这题换行符要用 ...
- 上POJ刷题
Online Judge系统 Online Judge系统(简称OJ)是一个在线的判题系统.用户可以在线提交给定问题的多种程序(如C.C++.Pascal.Java)源代码,系统对源代码进行 ...
- codevs 搜索题汇总(钻石+大师级)
1043 方格取数 2000年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 设有N*N的方格图 ...
- codevs 搜索题汇总(黄金级)
2801 LOL-盖伦的蹲草计划 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题目描述 Description 众所周知,LOL这款伟大的游戏,有个叫盖 ...
随机推荐
- 腾讯云数据库团队:MySQL AHI 实现解析
MySQL 定位用户记录的过程可以描述为:打开索引 -> 根据索引键值逐层查找 B+ 树 branch 结点 -> 定位到叶子结点,将 cursor 定位到满足条件的 rec 上:如果树高 ...
- PHP语言开发微信公众平台(订阅号)之开启开发者模式
(1)打开上一篇我们从花生壳官网获得的外网网址就会看到localhost根目录下的文件(这里不再赘述php环境的搭建).注:因为外网网址在能联网时,访问外网网址的任何人都能看到根目录下的所有文件,不仅 ...
- pageRank算法 python实现
一.什么是pagerank PageRank的Page可是认为是网页,表示网页排名,也可以认为是Larry Page(google 产品经理),因为他是这个算法的发明者之一,还是google CEO( ...
- 关于统一资源标志符URL的理解
URL由三部分构成 A:B:C A:URL使用的领域 B:在此领域的类型名称 C:标识资源的具体位置 C可以是一个绝对路径,也可以是端口号加上资源名称,总之是可以唯一标示资源的标识 例: 在网址中 S ...
- Asp.Net MVC4中的全局过滤器,
可以对整个项目进行全局监控. 新建一个MVC4项目,可以在global.asax文件中看到如下代码: FilterConfig.RegisterGlobalFilters(GlobalFilters ...
- 【CNMP系列】VIM编辑器详解
缘起 大学的时候做过Linux内核驱动程序研发,之前写C语言就是用的Vim编辑器,当年的Vim还不如今天之强大,当时的插件也没有现在这么多,只是觉得这个编辑器能满足我想要的所有,查看Linux内核代码 ...
- vs打开项目出错:未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 5.0.props”的解决办法
有时候由于CUDA升级或者下载的源码原创建项目的CUDA版本与自己的不同,在打开项目的时候发现加载不上,提示:未找到导入的项目“C:\Program Files (x86)\MSBuild\Micro ...
- 给angularJs grid列上添加自定义按钮
由于项目需要在angular 显示的表格中添加按钮,多次查询资料终于找到解决方法.就是给columnDefs 上的列增加 cellTemplate,同时绑定对应的触发事件,代码如下 columnDef ...
- 前端开发必备组件库【基于原生js、兼容主流浏览器、B/S必备】
[持续更新中...跪求点击右上角星星,好人一生平安!] API详见github,链接如下: https://github.com/pomelott/pomelo-plug-in
- 一行命令创建 http-server
一行命令启动http-server总结:1. python2.xpython2 -m SimpleHTTPServer 8000 2. python3.xpython -m http.server 8 ...