NOIP201101&&05
| NOIP200701奖学金 |
| 难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
|
试题描述
|
|
某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。
先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,
如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。
任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。
注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。
例如,在某个正确答案中,如果前两行的输出数据(每行输出两个数:学号、总分) 是:
7279 5279 这两行数据的含义是:总分最高的两个同学的学号依次是7号、5号。 这两名同学的总分都是 279 (总分等于输入的语文、数学、英语三科成绩之和) , 但学号为7的学生语文成绩更高一些。如果你的前两名的输出数据是: 5279 7279 则按输出错误处理,不能得分。 |
|
输入
|
|
包含n+1行: 第1行为一个正整数n,表示该校参加评选的学生人数。
第2到n+1行,每行有3个用空格隔开的数字,每个数字都在O到100之间z第1行的3个数 字依次表示学号为j-1的学生的语文、数学、英语的成绩。
每个学生的学号按照输入顺序编号为l~n (恰好是输入数据的行号减1)。
所给的数据都是正确的,不必检验。 |
|
输出
|
|
共有5行,每行是两个用空格隔开的正整数,依次表示前5名学生的学号和总分。
|
|
输入示例
|
|
【输入样例1】
6 90 67 80 87 66 91 78 89 91 88 99 77 67 89 64 78 89 98 【输入样例2】 8 80 89 89 88 98 78 90 67 80 87 66 91 78 89 91 88 99 77 67 89 64 78 89 98 |
|
输出示例
|
|
【输出样例1】 |
|
其他说明
|
|
【限制】50%的数据满足:各学生的总成绩各不相同 100%的数据满足: 6<=n<=300
|
呵呵,典型暴力,我又一次呵呵的笑了,又用暴力A过了。。
#include<iostream>
using namespace std;
struct data
{
int x,y,z,sum,id;
};
int read()
{
,f=;char ch=getchar();
')
{
;
ch=getchar();
}
')
{
x=x*+ch-';
ch=getchar();
}
return x*f;
}
;
data a[maxn];
int main()
{
int n=read();
;i<n;i++)
{
a[i].y=read();
a[i].x=read();
a[i].z=read();
a[i].sum=a[i].x+a[i].y+a[i].z;
a[i].id=i+;
}
;i<n;i++)
{
;j<n;j++)
{
if(a[i].sum<a[j].sum)
{
swap(a[i].id,a[j].id);
swap(a[i].sum,a[j].sum);
swap(a[i].x,a[j].x);
swap(a[i].y,a[j].y);
swap(a[i].z,a[j].z);
}
else if((a[i].sum==a[j].sum) && (a[i].y<a[j].y))
{
swap(a[i].id,a[j].id);
swap(a[i].sum,a[j].sum);
swap(a[i].x,a[j].x);
swap(a[i].y,a[j].y);
swap(a[i].z,a[j].z);
}
else if((a[i].sum==a[j].sum) && (a[i].y==a[j].y) && (a[i].id>a[j].id))
{
swap(a[i].id,a[j].id);
swap(a[i].sum,a[j].sum);
swap(a[i].x,a[j].x);
swap(a[i].y,a[j].y);
swap(a[i].z,a[j].z);
}
}
}
;i<;i++)cout<<a[i].id<<" "<<a[i].sum<<endl;
;
}
|
NOIP200705统计数字 |
| 难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
|
试题描述
|
|
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。
|
|
输入
|
|
包含n+1行; 第一行是整数n,表示自然数的个数; 第2~n+1每行一个自然数。
|
|
输出
|
|
包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。
|
|
输入示例
|
|
8 2 4 2 4 5 100 2 100
|
|
输出示例
|
|
2 3 4 2 5 1 100 2
|
|
其他说明
|
|
【限制】40%的数据满足:1<=n<=1000;80%的数据满足:1<=n<=50000;100%的数据满足:1<=n<=200000,每个数均不超过1500 000 000(1.5*10^9)
|
呵呵,还是暴力,我又笑了。。。又用暴力A过了。。。
#include<iostream>
using namespace std;
int read()
{
,f=;char ch=getchar();
')
{
;
ch=getchar();
}
')
{
x=x*+ch-';
ch=getchar();
}
return x*f;
}int main()
{
int n=read();
int a[n];
;i<n;i++)a[i]=read();
sort(a,a+n);
;
;i<n;i++)
{
])
{
printf(],temp);
temp=;
}
])temp++;
}
printf(],temp);
;
}
暴力无敌。。。。
NOIP201101&&05的更多相关文章
- Java学习笔记(05)
目录: static的用法 主函数的定义 增强for的循环 单例设计模式 封装 一.Static的用法 1.对象的内存分析 对象的引用变量是存在于栈区,而在堆区开辟了一块内存空间,调用对象给成员变量赋 ...
- iOS系列 基础篇 05 视图鼻祖 - UIView
iOS系列 基础篇 05 视图鼻祖 - UIView 目录: UIView“家族” 应用界面的构建层次 视图分类 最后 在Cocoa和Cocoa Touch框架中,“根”类时NSObject类.同样, ...
- 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)
版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...
- javaSE基础05
javaSE基础05:面向对象 一.数组 数组的内存管理 : 一块连续的空间来存储元素. Int [ ] arr = new int[ ]; 创建一个int类型的数组,arr只是一个变量,只是数组的一 ...
- 异步编程系列第05章 Await究竟做了什么?
p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...
- javascript基础05
javascript基础05 1.变量的作用域 变量既可以是全局,也可以是局部的. 全局变量:可以在脚本中的任何位置被引用,一旦你在某个脚本里声明了全局变量,你就可以 在这个脚本的任何位置(包括函数内 ...
- Linux 第05天
Linux 第05天 1.连接到Internet 1.1 配置网络信息 dmesg命令————查看网卡信息 dmesg | grep -i net ifconfig命令————查看IP.网关等相关信息 ...
- 05:统计单词数【NOIP2011复赛普及组第二题】
05:统计单词数 总时间限制: 1000ms 内存限制: 65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次 ...
- sublime text 3 license 2016.05
补充:2016.05 最近经过测试,3个注册码在新版3103的sublime上已经不可用了. 现补充两枚新版的license key: -– BEGIN LICENSE -– Michael Barn ...
随机推荐
- Sublime Text 备忘
Sublime Text已经被传成编程利器,那当然也是我们前端的利器了,刚开始用的时候,很多小问题,所以做个备忘,忘记的时候也可以翻出来看看,下次重装的时候可以用到. 1.设置自动换行 菜单栏 Vie ...
- Select模型原理
Select模型原理 利用select函数,推断套接字上是否存在数据,或者是否能向一个套接字写入数据.目的是防止应用程序在套接字处于锁定模式时,调用recv(或send)从没有数据的套接字上接收数据, ...
- Android4.4 蓝牙源码部分分析
最近GOOGLE发布了Android4.4,看了一下源码:4.4的蓝牙打开流程这一部分还是有些变化的,从界面上看蓝牙开关就是设置settings里那个switch开关,widget开关当然也可以,起点 ...
- [AngularJS] Directive with Transcluded Elements
Create a wrapWith directive using advanced transclusion techniques. transclude - compile the content ...
- android153 笔记 5
52. Linux中跨进程通信的几种方式 . linux编程全部是基于文件管理的. # 管道( pipe ):管道也是一个文件,一个进程负责读一个进程负责写,管道是一种半双工(2边可以通信但是不能是同 ...
- [Effective C++ --030]透彻了解inlining的里里外外
引言 inline函数 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数.与非inline函 ...
- oracle procedure存储过程(pl/sql)_使用declare cursor_begin end嵌套
create or replace procedure PRO_DelArticles ( ArticleId in varchar2 ) is ArticleNum varchar2(20); sq ...
- MySQL_update同一张表
update tb1 inner join(select type, count(*) as cntfrom tb1 group by type)as der using(type)set tb1.c ...
- 将Eclipse中现有的java类生成类图
需求:将Eclipse中现有的java类生成类图 一:什么是ModelGoon? 它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图). 二:安装 下载Mod ...
- Linux系统如何平滑生效NAT-BUGFIX
在< Linux系统如何平滑生效NAT>中,代码有两处问题.这只是目前发现的,没有发现的还有很多很多,这就是我为何不一开始把代码搞复杂的原因. 1.一个bug附带一个优化: 注意以下的代码 ...