Vector、Sort课后题解

HZNU OJ 2004

Description
今天是六一儿童节,ACM队的某些人比如说yl臭不要脸的想要过节。为此,wxa买了很多大白兔糖分给大家,但是想要得到这些糖必须回答出wxa的题目。他在每颗糖上标有数字,第一个找到数字K的人,将得到糖。zz想得到糖,但是眼力不好,你能帮帮他快速的找到标号为K的糖吗?(题目保证K一定存在)

Input
第一行输入一个T,表示有T组测试样例。

对于每组测试样例第一行输入n,k。第二行输入n个数据(n<10000),代表n颗糖的位置(1 ~ n)。

Output
标号为k的糖在哪个位置?

Samples
input
1
10 8
2 3 4 5 6 7 9 10 2 8
output
10

题意:在n个数中找k

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<int>vec;
int main(){int T;int n,k;cin>>T;while(T--){vec.clear();//清空vec cin>>n>>k;for(int i=0;i<n;++i){int x;cin>>x;vec.push_back(x);}int pos=find(vec.begin(),vec.end(),k)-vec.begin();//find函数三个参数 首地址、尾地址、常数//函数返回的是一个地址 cout<<pos+1<<endl;//题目下标从1开始 }
}

HZNU OJ 2007
Description
大家都知道zz特别喜欢金鱼,一天zz去买金鱼,但是他只带了n元,他想买k种金鱼。(每种一条)如果钱不够他会向wxa借。已知每条金鱼的价格,你能告诉他最少他需要向wxa借多少吗?

Input
第一行输入一个T,代表有T组测试数据。

每组测试数据第一行输入n,k,m(0 < m < 1000)。接下来有一行,有m组数据,代表总共有m种金鱼。

Output
zz向wxa借的钱。

Samples
input
1
10 5 10
1 2 3 4 5 6 7 8 9 10
output
5

#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1e5+10;
int a[maxn];
int main(){int T;cin>>T;while(T--){int n,k,m;cin>>n>>k>>m;for(int i=1;i<=m;++i){cin>>a[i];}sort(a+1,a+1+m);int sum=0;for(int i=1;i<=k;++i){if(n>=a[i]){n-=a[i];}else{a[i]-=n;n=0;sum+=a[i];}}cout<<sum<<endl;}
}

HZNU OJ 2026
Description
众所周知,杭师acm的女神loy有很多很有趣的外号,比如泡面亚,打蛋亚,卫龙亚,萝卜亚等等。现在她想知道这些称号的好坏程度,但是苦于他的称号实在太多,所以想请聪明的你来帮她将这些称号排个序。

顺便说一下,Loy认为一个称号出现次数越多,则这个称号越好。

Input
输入第一行为一个整数t(t<10),其后有t组测试数据。对于每一组测试数据,第一行为一个整数n(n<100),代表其后有n行,每行有一个称号英文(不超过20个字符)和其出现次数,以空格分隔。

Output
按称号出现次数从多到少排序,保证出现次数不会存在相同值

Samples
input
1
3
EggYa 100
WeilongYa 50
ParrotYa 200
output
ParrotYa
EggYa
WeilongYa

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
const int maxn=1e5+10;
struct node{string name;int m;
}a[maxn];
bool cmp(node a,node b){return a.m>b.m;
}
int main(){int T;cin>>T;while(T--){int n;cin>>n;for(int i=1;i<=n;++i){cin>>a[i].name>>a[i].m;}sort(a+1,a+1+n,cmp);for(int i=1;i<=n;++i){cout<<a[i].name<<endl;}}
}

HZNU OJ 2031
Description
给你n个学生的3门考试的成绩,要求输出这三门课每门课中成绩最好的学生姓名和他在这三门课的成绩,然后按平均成绩从高到低输出所有学生信息,接着输出平均分高于80分的学生信息和其平均成绩。

Input
第一行为一个正整数n(n>=3),其后跟n行,每一行为一个学生的信息,包含学生姓名(最多9个字符),和学生三门课的成绩。

Output
前3行位这三门课中成绩最好的学生姓名和这三门课的成绩,其后n行按平均成绩从高到低输出学生信息,接下来几行为平均分高于80分的学生信息和其平均成绩。其中学生信息就是每行输入的信息。(每行数据间以逗号分隔,每块内容间输出一个回车,输出保留两位小数。)

Samples
input
5
zz 100 100 100
loy 90 80 70
yl 85 78.5 90
mwy 59 59.9 59.99
cjc 0 0 0
output
zz,100.00,100.00,100.00
zz,100.00,100.00,100.00
zz,100.00,100.00,100.00

zz,100.00,100.00,100.00
yl,85.00,78.50,90.00
loy,90.00,80.00,70.00
mwy,59.00,59.90,59.99
cjc,0.00,0.00,0.00

zz,100.00,100.00,100.00,100.00
yl,85.00,78.50,90.00,84.50

#include<iostream>
#include<string>
#include<iomanip>
#include<algorithm>
using namespace std;
const int maxn=1e5+10;
struct node{string name;double a,b,c;//三门课成绩double p;//平均分
}stu[maxn];
bool cmp(node a,node b){return a.p>b.p;
}
int main(){int n;cin>>n;int maxa,maxb,maxc;//三门课最高的下标 int max1,max2,max3;for(int i=1;i<=n;++i){cin>>stu[i].name>>stu[i].a>>stu[i].b>>stu[i].c;stu[i].p=(stu[i].a+stu[i].b+stu[i].c)/3.0;if(i==1){max1=stu[i].a,max2=stu[i].b,max3=stu[i].c;maxa=maxb=maxc=1;continue;}if(stu[i].a>max1)max1=stu[i].a,maxa=i;if(stu[i].b>max2)max2=stu[i].b,maxb=i;if(stu[i].c>max3)max3=stu[i].c,maxc=i;} cout<<stu[maxa].name<<",";cout<<fixed<<setprecision(2)<<stu[maxa].a<<",";cout<<fixed<<setprecision(2)<<stu[maxa].b<<",";cout<<fixed<<setprecision(2)<<stu[maxa].c<<endl;cout<<stu[maxb].name<<",";cout<<fixed<<setprecision(2)<<stu[maxb].a<<",";cout<<fixed<<setprecision(2)<<stu[maxb].b<<",";cout<<fixed<<setprecision(2)<<stu[maxb].c<<endl;cout<<stu[maxc].name<<",";cout<<fixed<<setprecision(2)<<stu[maxc].a<<",";cout<<fixed<<setprecision(2)<<stu[maxc].b<<",";cout<<fixed<<setprecision(2)<<stu[maxc].c<<endl;cout<<endl;sort(stu+1,stu+1+n,cmp);for(int i=1;i<=n;++i){cout<<stu[i].name<<",";cout<<fixed<<setprecision(2)<<stu[i].a<<",";cout<<fixed<<setprecision(2)<<stu[i].b<<",";cout<<fixed<<setprecision(2)<<stu[i].c<<endl;}cout<<endl;for(int i=1;i<=n;++i){if(stu[i].p<=80)break;cout<<stu[i].name<<",";cout<<fixed<<setprecision(2)<<stu[i].a<<",";cout<<fixed<<setprecision(2)<<stu[i].b<<",";cout<<fixed<<setprecision(2)<<stu[i].c<<",";cout<<fixed<<setprecision(2)<<stu[i].p<<endl;}
}

Vector、Sort课后题解相关推荐

  1. C++的STL库,vector sort排序时间复杂度 及常见容器比较

    http://www.cnblogs.com/sthv/p/5511921.html http://www.169it.com/article/3215620760.html http://www.c ...

  2. PAT1004 成绩排名【vector sort排序、string的使用】

    读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的 ...

  3. 牛客网_PAT乙级_1022挖掘机技术哪家强(20)【class vector sort排序、删除重复元素】

    题目描述 为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入描述: 输入在第1行给出不超过105的正整数N,即参赛人数.随后N行,每 ...

  4. 牛客网_PAT乙级_1020完美数列(25)【vector sort 最后一个测试用例超时】

    题目描述 给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美数列. 现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完 ...

  5. POJ-1328(Greedy,Vector,Sort,Iterator)

    1328:Radar Installation 查看 提交 统计 提问 时间限制: 1000ms 内存限制: 65536kB 描述 Assume the coasting is an infinite ...

  6. vector sort 出现异常处理--std::sort(_RanIt,_RanIt,_Pr)

    对于sort排序处理,网上一般使用 bool SortByValue( int v1,  int v2)//注意:本函数的参数的类型一定要与vector中元素的类型一致   { return v1 & ...

  7. c++ 的vector sort遇到栈错误

    在做pat乙级1082 射击比赛时 遇到了sort 段错误. 题目链接:https://www.patest.cn/contests/pat-b-practise/1082 感觉写的没啥毛病 但就是段 ...

  8. std list/vector sort 排序就这么简单

    网上江湖郎中和蒙古大夫很多,因此,此类帖子也很多.关于排序,我还真没研究过,看了江湖郎中和蒙古大夫的帖子,搞了半天不行,所以,自己研究了一下,如下:三种方式都可以,如重写<,()和写比较函数co ...

  9. std list/vector sort 自定义类的排序

    转载自:http://blog.csdn.net/marising/article/details/4567531 如下:三种方式都可以,如重写<,()和写比较函数compare_index.但 ...

  10. c++:vector sort()排序

    sort()函数:sort(begin, end, cmp),其中begin为指向待sort()的数组的第一个元素的指针,end为指向待sort()的数组的最后一个元素的下一个位置的指针,cmp参数为 ...

最新文章

  1. Swift 代码调试-善用XCode工具(UI调试,五种断点,预览UIImage...)
  2. Windows Server 2008R2使用web方式修改域账户密码
  3. 从零搭建前端脚手架工具
  4. 人工智能的两条进化路线
  5. 线段树合并复杂度证明
  6. linux下rpm方式安装mysql(2012-5-12)
  7. linux怎样判断线程是否暂停_怎样判断股市是否会继续下跌?
  8. DIV默认高度且自适应高度
  9. HA应用之 -- corosync+pacemaker
  10. Windows Server 2012 +WDK7600.16385.1+VS2008驱动开发环境搭建
  11. mysql 执行计时_ps-top 用于MySQL的数据库top工具
  12. xpath的基础知识
  13. Win10内置应用误卸载恢复方法
  14. 昔日无痕,沧桑有迹-魔幻般的2020
  15. RecyclerView条目复用导致混乱的解决方案之一
  16. OA之会议排座与送审
  17. 目前 计算机硬件系统,计算机硬件系统练习题.doc
  18. 小学生python编程写游戏_教你如何像玩游戏一样学Python
  19. oracle中的open,oracle最常见的三个参数:open_cursors、sessions、processes
  20. 【湍流】基于傅里叶变换实现大气湍流随机相位屏,增加了低频次谐波补偿附matlab代码

热门文章

  1. 单纯同调与奇异同调 习题
  2. 《Arduino实验》实验四:HC-SR501人体红外传感器检测是否有人存在
  3. IOS开发之UI进阶(安全区高度)
  4. 计算机-磁盘管理不能删除,关于win10系统磁盘管理磁盘右键菜单中只有“帮助”删除方法...
  5. JavaScript实现浏览器本地的图像移动、大小调整和裁剪
  6. 用python做餐厅点餐系统
  7. IDEA “Cannot resolve symbol” 解决办法
  8. 无人驾驶:无人驾驶感知技术及应用
  9. air flow空调上是什么意思_airflow空调滤芯上是什么意思
  10. 装mysql电脑网卡不见了_网络适配器不见了怎么办【解决方法】