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. 有哪些好用的远程办公软件推荐?
  2. LeetCode 31 Next Permutation(下一个全排列)
  3. java专业日报800字,JAVA每日学习日报 7.8
  4. 解决安装kali 2020.1版本后的中文乱码问题:只需要安装中文字体(而不需要像之前版本那样需要选择locales和编码)。
  5. 最值得程序员get的30本行业干货
  6. Android学习按键事件监听与Command模式
  7. “互联网+”大赛之AI创新应用赛题攻略:大胆脑洞,共绘智慧生活蓝图
  8. ios 绘制线框_iOS开发 给View添加指定位置的边框线
  9. 苹果再因“降频门”遭遇集体诉讼,11.5万用户出拳
  10. 【转】php eval函数用法----PHP中eval()函数小技巧
  11. 京东自动化签到脚本-京东休闲游戏自动化签到助手
  12. android4.4.3版本root,碉堡了!ROOT精灵支持Nexus 5等Android4.4.3机型ROOT
  13. 可调稳压电源lm317实验报告_LM317可调稳压电源实训实验.doc
  14. 将阳历转换为阴历php,PHP阳历转换为阴历方法代码
  15. 图像处理——乘性噪声和加性噪声
  16. 发起http请求raw格式
  17. AVX-512指令_mm512_shuffle_epi8分析
  18. 操作系统笔记 第二章
  19. Android Telephony分析(一) ---- Phone详解
  20. 深度学习进阶课程10---减少Overfitting的方法Regularization

热门文章

  1. clickhouse - 第三章:内置对象 之 第二节:table表操作 - 创建表与删除表
  2. SCI论文写作(一) | SCI论文的文献综述(Literature Review)部分
  3. 安卓高级 WebView的使用到 js交互
  4. linux下imwbr1进程,清除挖矿程序(imWBR1,ddg,wipefs),亲测可用
  5. 鹰派学院创始人麦客:预测粤港澳大湾区将成为世界区块链高地
  6. unity3d 为什么要烘焙/unity3d 烘焙作用是为了什么【2020】
  7. java实现1 12 123 1234 12345 123456 输出
  8. 【转】slideUp() 和slideDown() 如何解决反复抖动的问题
  9. Python刷题系列(8)_Pandas_Dataframe
  10. 如何设置Android手机的sqlite3命令环境