noip第19课作业
1. 谁考了第K名
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。
【输入格式】
第一行有两个整数,分别是学生的人数n(1<=n<=100),和求第k名学生的k(1<=k<=n)。其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。
【输出格式】
输出第k名学生的学号和成绩,中间用空格分隔。
【样例输入】
5 3
90788001 67.8
90788002 90.3
90788003 61
90788004 68.4
90788005 73.9
【样例输出】
90788004 68.4
#include <iostream>
#include <algorithm>
using namespace std;
struct student{
int num;
double score;
};
bool cmp(student x,student y){
return x.score > y.score;
}
int main(){
int n,k;
cin >> n>>k;
student stu[];
for(int i = ;i <= n;i++){
cin >> stu[i].num>>stu[i].score;
}
sort(stu+,stu+n+,cmp);
cout << stu[k].num << " " << stu[k].score <<endl;
return ;
}
2. 众数
由文件给出N个1到30000间无序数正整数,其中1≤N≤10000,同一个正整数可能会出现多次,出现次数最多的整数称为众数。求出它的众数及它出现的次数。
【输入格式】
输入文件第一行是正整数的个数N,第二行开始为N个正整数。
【输出格式】
输出文件有若干行,每行两个数,第1个是众数,第2个是众数出现的次数。
【样例输入】
12
2 4 2 3 2 5 3 7 2 3 4 3
【样例输出】
2 4
3 4
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
long long a[];
int main () {
long long n,i,j,m,s,t,max;
cin>>n;
max=;
for (i=; i<=; i++)
a[i]=;
for (i=; i<=n; i++) {
cin>>t;
a[t]=a[t]+;
}
for (i=; i<=; i++)
if (a[i]>max)
max=a[i];
for (i=; i<=; i++)
if (a[i]==max) cout<<i<<" "<<max<<endl;
}
1、单词排序
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。(区分大小写)
【输入格式】
一行单词序列,最少1个单词,最多100个单词,每个单词的长度不超过50,单词之间至少用一个空格间隔。数据不含除字母、空格外的其他字符。
【输出格式】
按字典序输出这些单词,重复的单词只输出一次。
【样例输入】
She wants to go to Peking University to study Chinese
【样例输出】
Chinese
Peking
She
University
go
study
to
wants
#include <iostream>
#include <cstdio>
#include <cstring> using namespace std;
string s[];
int main(){
int i,n = ,t,j,k;
string ss;
while(cin >> ss){
n++;
s[n] = ss;
}
for(i = ;i < n;++i){
for(j = i+;j <= n;++j){
if(s[i] > s[j])
swap(s[i],s[j]);
}
}
for(i = ;i <= n;++i){
if(s[i-] != s[i])
cout << s[i] << endl;
}
return ;
}
2、整数奇偶排序
给定10个整数的序列,要求对其重新排序。排序要求:
1.奇数在前,偶数在后;2.奇数按从大到小排序;3.偶数按从小到大排序。
【输入格式】
输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等于100。
【输出样例】
按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。
【样例输入】
4 7 3 13 11 12 0 47 34 98
【样例输出】
47 13 11 7 3 0 4 12 34 98
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
using namespace std;
long n,i,j,s,a[],b[];
long se(long l,long r) {
long v,t,i,j;
i=l;
j=r;
v=a[(l+r)/];
do {
while (a[i]<v) i++;
while (a[j]>v) j--;
if (i<=j) {
t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
} while(i<=j);
if (l<j) se(l,j);
if (i<r) se(i,r);
}
int main() {
cin>>n;
for (i=; i<=n; i++) cin>>a[i];
se(,n);
cin>>n;
for (i=; i<=n; i++) {
//cin>>s;
//cout<<a[s]<<endl;
cin >> b[i];
}
for(i = ;i <= n;i++){
if(a[b[i]] != ){
cout << a[b[i]] << endl;
}else{
continue;
}
}
}
3、合影效果
小云和朋友们去爬香山,为美丽的景色所陶醉,想合影留念。如果他们站成一排,男生全部在左(从拍照者的角度),并按照从矮到高的顺序从左到右排,女生全部在右,并按照从高到矮的顺序从左到右排,请问他们合影的效果是什么样的(所有人的身高都不同)?
【输入格式】
第一行是人数n(2<=n<=40,且至少有1个男生和1个女生)。
后面紧跟n行,每行输入一个人的性别(男 male 或 女 female)和身高(浮点数,单位:米),两个数据之间以空格分割。
【输出格式】
n个浮点数,模拟站好队后,拍照者眼中从左到右每个人的身高。每个浮点数需保留到小数点后2位,相邻两个数之间用单个空格隔开。
【样例输入】
6
male 1.72
male 1.78
female 1.61
male 1.65
female 1.70
female 1.56
【样例输出】
1.65 1.72 1.78 1.70 1.61 1.56
#include <iostream>
#include <cstdio>
#include <string> using namespace std;
float a[],b[];
int main(){
int n,i,j,k = ,f = ;
string s;
float t,m;
cin >> n;
for(i = ;i <= n;i++){
cin >> s >> m;
if(s == "male"){
k++;
b[k] = m;
}else{
f++;
a[f] = m;
}
}
for(i = ;i <= k;i++){
for(j = i+;j <= k;j++){
if(b[i] > b[j]){
t = b[i];
b[i] = b[j];
b[j] = t;
}
}
}
for(i = ;i <= f;i++){
for(j = i+;j <= f;j++){
if(a[i] < a[j]){
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for(i = ;i <= k;i++){
printf("%0.2f ",b[i]);
}
for(i = ;i <= f;i++){
printf("%0.2f ,",a[i]);
}
cout << endl;
return ;
}
noip第19课作业的更多相关文章
- noip第33课作业
1. 排座椅 [问题描述] 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同 ...
- noip第5课作业
1. 计算税收 [问题描述] 对某产品征收税金,在产值1万元以上收税5%:在1万元以下但在5000元或者以上的征收税3%:在5000元以下但在1000元或以上征收税2%:1000元以下的免收税 ...
- noip第1课作业
1. 求三个数的乘积和三次方和 [问题描述] 编程实现输入任意三个整数a, b, c,将这三个数的乘积以及三次方和输出: [样例输入] 1 2 3 [样例输出] 6 36 #include &l ...
- noip第10课作业
1. 统计不同类型字符出现次数 [问题描述] 输入一个字符串(假设长度不超过1000个字符),统计其中大写,小写,数字,其他字符出现的次数. [样例输入]Hello,what are you ...
- noip第19课资料
- noip第34课作业
1. 信息加密 [问题描述] 在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去.有一种加密规则是这样的:1. 对于字母字符,将其转换成其后的第3个字母.例如:A→D,a→ ...
- noip第29课作业
1. 钢条切割 [问题描述] 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi.那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大. ...
- noip第28课作业
分段数列 [问题描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入格式: 输入第1行包含两个正整 ...
- noip第27课作业
1. 繁忙的都市 [问题描述] 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个 ...
随机推荐
- (转)silverlight应用程序中未处理的错误代码:2104 类别:InitializeError
解决方案:第一步:默认网站--属性-----http头 第二步:点击mime类型: 第三步:点击新建: 第四步:输入扩展名以及类型: (1) 扩展名:.xaml MIME类型:applicat ...
- JVM 类加载器 (二)
1.类加载器(ClassLoader)负责加载class文件,class文件在文件开头有特定的文件标识,并且ClassLoader只负责 class 文件的加载,至于class文件是否能够运行则由Ex ...
- [转载]RPM中SPEC常用路径以及宏变量
转自:http://blog.csdn.net/txgc1009/article/details/6833764 通过命令rpm --showrc查看实现代码.另外直接通过 rpm --eval &q ...
- You have more than one version of ‘org.apache.commons.logging.Log’ visible, which is not allowed问题解决
https://zeroturnaround.com/forums/topic/jrebel-reports-more-than-one-version-of-org-apache-commons-l ...
- 浅谈多重检验校正FDR
浅谈多重检验校正FDR Posted: 四月 12, 2017 Under: Basic By Kai no Comments 例如,在我们对鉴定到的差异蛋白做GO功能注释后,通常会计算一个p值 ...
- web前端学习笔记:文本属性
今天的web前端笔记主要讲述文本属性,希望能帮助到正在学习web前端开发的初学者们,废话不多说了,一起来看看文本属性的相关内容吧. 文本属性 文本缩进 将Web页面上的一个段落第一行缩进,这是一种最常 ...
- 语法分析器初步学习——LISP语法分析
语法分析器初步学习——LISP语法分析 本文参考自vczh的<如何手写语法分析器>. LISP的表达式是按照前缀的形式写的,比如(1+2)*(3+4)在LISP中会写成(*(+ 1 2)( ...
- UI设计教程学习分享:APP布局
一.宫格布局 这种APP信息布局方式也是我们目前最常见的一种方式,也是符合用户习惯和黄金比例的设计方式,最知名的就是锤子手机的界面设计.锤子手机界面设计欣赏知名的APP设计采用的九宫格.六宫格等方式布 ...
- Python之路(第十篇)迭代器协议、for循环机制、三元运算、列表解析式、生成器
一.迭代器协议 a迭代的含义 迭代器即迭代的工具,那什么是迭代呢? #迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 b为何要有迭代器? 对于序列类型:字符串.列表 ...
- [Spark]What's the difference between spark.sql.shuffle.partitions and spark.default.parallelism?
From the answer here, spark.sql.shuffle.partitions configures the number of partitions that are used ...