PAT甲级1028 List Sorting:[C++题解]排序,cin和cout会超时
文章目录
- 题目分析
- 题目链接
题目分析
用结构体来存,写三个排序函数。
本题需要注意的点是:
用cin来读会超时,所以用C语言的scanf来读。这样的话,就不能使用string,而是使用char数组。
char id[10],name[10];int grade;scanf("%s%s%d",id,name,&grade);
另外输出的时候把string转化成 char *
c_str()函数返回一个指向以null结尾的字符数组的指针,该数组的数据等于存储在字符串中的数据。
for(auto c:ranks){printf("%s %s %d\n",c.id.c_str(),c.name.c_str(),c.grade);}
ac代码
#include<bits/stdc++.h>
using namespace std;const int N =1e5+10;struct Student{string id ,name;int grade;
};
vector<Student> ranks;bool cmp1(Student a ,Student b){return a.id<b.id;
}bool cmp2(Student a ,Student b){if(a.name!=b.name) return a.name<b.name;return a.id<b.id;
}bool cmp3(Student a ,Student b){if(a.grade!=b.grade) return a.grade<b.grade;return a.id<b.id;
}int main(){int n,c;scanf("%d%d",&n,&c);while(n--){char id[10],name[10];int grade;scanf("%s%s%d",id,name,&grade);ranks.push_back({id,name,grade});}if(c==1)sort(ranks.begin(),ranks.end(),cmp1);else if(c==2)sort(ranks.begin(),ranks.end(),cmp2);else sort(ranks.begin(),ranks.end(),cmp3);for(auto c:ranks){printf("%s %s %d\n",c.id.c_str(),c.name.c_str(),c.grade);}}
题目链接
PAT甲级1028 List Sorting
PAT甲级1028 List Sorting:[C++题解]排序,cin和cout会超时相关推荐
- PAT甲级题目翻译+答案 AcWing(排序)
1012 The Best Rank (25 分) 题意 :给ID和3门成绩,计算其平均分A,输出每位学生最好的排名,A>C>M>E 思路 :如果将所需的若干个元素中使第一个元素为后 ...
- PAT甲级1029 Median:[C++题解]贪心、二路归并
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 如果直接排序,时间复杂度是O(nlogn),n=2∗105O(nlogn),\ n=2*10^5O(nlogn), n=2∗105会 ...
- PAT甲级1070 Mooncake:[C++题解]贪心
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 对单件从高到低排序. 需要注意的是总需要量d设成double,不要设成int. ac代码 #include<bits/stdc ...
- PAT甲级1008 Elevator:[C++题解]模拟
文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:统计上升次数.下降次数:停留次数就是n.然后算数即可. ac代码 #include<bits/stdc++.h> usin ...
- PAT甲级1077 Kuchiguse:[C++题解]字符串、最长公共后缀
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 读入n个字符串s[n],以s[0]为基础找公共后缀.枚举后缀的长度,内层循环遍历其他字符串,判断是否后缀相等. 使用子串的函数sub ...
- PAT甲级1078 Hashing:[C++题解]哈希表、哈希表开放寻址法、二次探测法
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 本题建立hash表是利用只具有正增量的二次探测法来解决冲突, 索引 = 数 % 哈希表的大小 如果映射到同一个索引idx,hash表 ...
- PAT甲级1003 Emergency:[C++题解]dijkstra求最短路、最短路条数
文章目录 题目分析 题目链接 题目分析 分析:求单源最短路,使用dijkstra()算法. 最短路的条数,和最短路中 人数最多的一条,输出最多人数. 本题点比较少,使用邻接矩阵d[N][N]来存. a ...
- PAT甲级1032 Sharing :[C++题解]链表
文章目录 题目分析 题目链接 题目分析 思路:建立链表,这里使用数组.e [ ] 表示当前的数值,ne[ ]表示next指针. 求单词的公共后缀,就是求两个链表从头结点开始第一个公共的结点. 先遍历第 ...
- PAT甲级1010 Radix :[C++题解]进制位、秦九韶算法、二分(PAT通过率最低的一道题0.11)
文章目录 题目分析 题目链接 题目分析 分析: 本题思路分两步. 第一步:先把给出数值和进制的数,暂定为N1,转换成10进制,即为target. 第二步: 判断一下N2在多少进制下是等于target的 ...
最新文章
- 跨平台PHP调试器设计及使用方法——通信
- Docker 服务终端 UI 管理工具
- CHIL-SQL-FIRST() 函数
- .net 零碎点梳理
- mysql数据版本控制_如何对MySQL数据模型进行版本控制和同步?
- 一文了解贪心算法和回溯算法在前端中的应用
- axure实现复选框全选_表格设置一键全选按钮,这样的打√方式,只需要三步搞定...
- c/c++成长之捷径
- 【总结】学了不少自然语言处理的理论知识,如何通过实战进一步提高能力?...
- 爱奇艺多模态短视频内容标签技术及应用
- 关于library cache lock
- leetcode报错reached end of file while parsing
- 5 位改变世界的女性程序员
- 耿建超英语语法---非谓语动词作同位语和定语
- 【YOLOv5】结合GradCAM热力图可视化
- 【福利帖】7日玩转ESP32
- MySQL 系统表空间ibdata:我也不想当一个死肥宅
- 2021高考成绩查询理综各科得分,2021高考一共几科 总分多少分
- 同轴电缆阻抗总结(电阻、阻抗、特性阻抗)
- 要是有天你不想再敲代码了,你想做什么?
热门文章
- mySql 注入攻击
- Lucky7(hdu5768)
- [BZOJ1061][Noi2008]志愿者招募
- bzoj 2186: [Sdoi2008]沙拉公主的困惑
- 为模型推断的端部的大小
- 分子动力学模拟软件_基于GPU的分子动力学软件ACEMD的简介与安装
- 【STM32】位操作、按位与、按位或、按位异或、取反、左移、右移等基础 C 语言知识补充
- 1.2 数学符号-深度学习第五课《序列模型》-Stanford吴恩达教授
- 验证STIL的pattern的输入输出顺序
- 开源自制6通道航模遥控器,Arduino Pro Mini NRF24L01模块