作死上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这款伟大的游戏,有个叫盖 ...
随机推荐
- 去掉标题栏的方法(使用requestWindowFeature(Window.FEATURE_NO_TITLE);为什么失效)
使用requestWindowFeature(Window.FEATURE_NO_TITLE)隐藏标题栏失效的原因,可能是activity继承的是AppCompatActivity.下面详细介绍了使用 ...
- Solr commit 策略测试
已知Solr 的Commit策略: 服务器端: 1)AutoCommit 2)AutoSoftCommit 客户端 Commit 本次我测试了客户端关闭Commit的情况下,服务器端Commit策略的 ...
- 从Visual Studio看微软20年技术变迁
前言 这个世界从来都不缺变革,从工业革命到晶体管和集成电路,从生活电器到物联网,从简陋人机到精致体验,我们在享受技术带来的便捷的同时,也在为复杂设计而带来的挑战和生产力下降而痛并快乐着.而迫切期盼的, ...
- WF学习思维导图
原文 来自我的有道笔记-老文重发系列 如果配置加载核心服务,那么需要将持久化服务和跟踪服务放在一个数据库中! 1.用工作流的优点 a.提供将复杂任务分解的途径,通过将每个操作分解到活动中更便于业务 ...
- 实现在easyui中的datagrid,点击某一列的列头弹出combobox下拉框
easyUI datagrid在列头加下拉框,实现对列内容的筛选. 代码: onLoadSuccess: function (data) {//Fires when data is loaded s ...
- 搭建ftp服务器实现文件共享
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP(File Transfer Protocol ...
- 用 Visual Studio Code 调试 Node.js
环境: Visual Studio Code Node.js 1. 关闭运行中的程序 2.打开入口文件,我这里的入口文件为 app.js 3.点击左侧菜单栏的 debug 按钮 4.点击运行按钮 5 ...
- Python的字典dictionary
创建: dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};删除: del dict['Name']; # 删除键是'Name'的条目 dict.c ...
- db2 sequence 查询
1. 查询名字 select * from sysibm.sysequences where seqname='wx_Id' 2.nextVal select wx_seq_id.currval fr ...
- NMF和SVD在推荐系统中的应用(实战)
本文以NMF和经典SVD为例,讲一讲矩阵分解在推荐系统中的应用. 数据 item\user Ben Tom John Fred item 1 5 5 0 5 item 2 5 0 3 4 item 3 ...