身份证排序问题

简介: 身份证排序问题


题目描述

输入

输出

输出身份证。

样例输入1

5

466272307503271156

215856472207097978

234804580401078365

404475727700034980

710351408803093165

样例输出1

404475727700034980

234804580401078365

215856472207097978

710351408803093165

466272307503271156

做法1

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n;
    cin >> n;
    vector<string> a(n);
    for (int i = 0; i < n; ++i) cin >> a[i];
    /* 根据第7~14位进行排序 */
    sort(a.begin(), a.end(), [](string &lhs, string &rhs) {
        string l = lhs.substr(6, 8);
        string r = rhs.substr(6, 8);
        return l > r || (l == r && lhs < rhs);
    });
    for (auto &s: a) cout << s << endl;
    return 0;
}
相关文章
|
2月前
|
Java
Java实现随机生成某个省某个市的身份证号?如何编码?
【10月更文挑战第18天】Java实现随机生成某个省某个市的身份证号?如何编码?
153 5
解密身份证号,and 身份证与姓名认证。
解密身份证号,and 身份证与姓名认证。
|
7月前
|
JavaScript
身份证号码自动判定出生年月及性别年龄
身份证号码自动判定出生年月及性别年龄
72 0
|
JavaScript 前端开发
身份证第18位校验码如何计算
身份证第18位校验码如何计算
87 0
|
7月前
|
Serverless Python
如何根据身份证号码计算年龄-python
如何根据身份证号码计算年龄-python
320 3
|
JavaScript
js验证身份证号码是否正确(整理)
js验证身份证号码是否正确(整理)
|
Java
利用身份证号获取生日信息
利用身份证号获取生日信息
117 0
PTA 1031 查验身份证 (15 分)
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:
197 0
L1-016 查验身份证 (15 分)
L1-016 查验身份证 (15 分)
166 0