算法提高 身份证排序
问题描述
安全局搜索到了一批(n个)身份证号码,希望按出生日期对它们进行从大到小排序,如果有相同日期,则按身份证号码大小进行排序。身份证号码为18位的数字组成,出生日期为第7到第14位
输入格式
第一行一个整数n,表示有n个身份证号码
余下的n行,每行一个身份证号码。
输出格式
按出生日期从大到小排序后的身份证号,每行一条
样例输入
5
466272307503271156
215856472207097978
234804580401078365
404475727700034980
710351408803093165
样例输出
404475727700034980
234804580401078365
215856472207097978
710351408803093165
466272307503271156
数据规模和约定
n<=100000
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int n;
struct Node
{string s;int a=0, b=0, c=0;void fun(){for (int i = 0; i<6; i++)a = a * 10 + s[i] - '0';for (int i = 6; i<14; i++)b = b * 10 + s[i] - '0';for (int i = 14; i<18; i++)c = c * 10 + s[i] - '0';}
}node[100005];bool cmp(Node a, Node b)
{if (a.b != b.b)return a.b>b.b;if (a.a != b.a)return a.a>b.a;if (a.c != b.c)return a.c>b.c;
}int main()
{cin >> n;for (int i = 0; i<n; i++){cin >> node[i].s; node[i].fun();}sort(node, node + n, cmp);for (int i = 0; i<n; i++)cout << node[i].s << endl;system("pause");return 0;
}
算法提高 身份证排序相关推荐
- Java实现 蓝桥杯VIP 算法提高 身份证排序
算法提高 身份证排序 时间限制:1.0s 内存限制:256.0MB 问题描述 安全局搜索到了一批(n个)身份证号码,希望按出生日期对它们进行从大到小排序,如果有相同日期,则按身份证号码大小进行排序.身 ...
- 蓝桥杯ADV-172 算法提高 身份证排序
问题描述 安全局搜索到了一批(n个)身份证号码,希望按出生日期对它们进行从大到小排序,如果有相同日期,则按身份证号码大小进行排序.身份证号码为18位的数字组成,出生日期为第7到第14位 输入格式 第一 ...
- java 蓝桥杯算法提高 身份证号码升级(题解)
试题 算法提高 身份证号码升级 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为 ...
- java 蓝桥杯算法提高 成绩排序2
试题 算法提高 成绩排序2 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出n个学生的成绩,将这些学生按成绩排序,排序规则:总分高的在前:总分相同,数学成绩高的在前:总分与数学相 ...
- Java实现蓝桥杯 算法提高 身份证号码升级
算法提高 身份证号码升级 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位 ...
- 算法提高 身份证号码升级
问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由2位(7,8位)改为四位. 2.最后添加一位验证码. ...
- [Java] 蓝桥杯ADV-171 算法提高 身份证号码升级
问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由2位(7,8位)改为四位. 2.最后添加一位验证码. ...
- 蓝桥杯 ADV-171 算法提高 身份证号码升级
问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位.(18位身份证号码简介).升级方法为: 1.把15位身份证号码中的年份由2位(7,8位)改为四位. 2.最后添加一位验证码. ...
- 蓝桥杯 ADV-131算法提高 选择排序
问题描述 排序,顾名思义,是将若干个元素按其大小关系排出一个顺序.形式化描述如下:有n个元素a[1],a[2],-,a[n],从小到大排序就是将它们排成一个新顺序a[i[1]]<a[i[2]]& ...
最新文章
- PyTorch 多机多卡训练:DDP 实战与技巧
- C++实现简易通讯录
- 留存方法论:如何培养用户使用习惯?
- 《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记
- Content-Disposition 响应头,设置文件在浏览器打开还是下载
- leetcode-445. 两数相加 II
- onhashchange
- MyBatis笔记——配置文件完成增删改查
- siamfc代码解读_分析SiamFC
- php进行url转码,对url中的参数进行转码
- 三年程序员成功转型项目经理
- word怎么删除参考文献的横线_2016版Word 中参考文献上面的横线是怎么去掉的啊,求助求助?...
- PostgreSQL数据库学习手册之大对象
- 【暑期每日一题】洛谷 P1192 台阶问题
- <塞梅普雷斯 如是说> 第二部 0.序
- js 切比雪夫多项式实现
- PDF文件字体嵌入问题
- 数据泵 TTS(传输表空间技术)
- 全志T3开发板(4核ARM Cortex-A7)测评合集——从开发板到PLC
- 理工英语单词汇总与复习
热门文章
- 统计模型参数量与FLOPs
- QString与std::string的相互转换
- python中list与array互相转换
- JobScheduler的使用
- 五、唱歌不如跳舞(下)
- PMP-【第7章 项目成本管理】-2021-2-12(161页-179页)
- flutter 调用原生安卓插件_Flutter 如何调用Android和iOS原生代码-阿里云开发者社区...
- php sqlite3菜鸟,SQLite Update 语句
- 删除单链上数据域值最小的节点_深入浅出数据结构
- linux命令行之find详解