我是靠谱客的博主 紧张戒指,最近开发中收集的这篇文章主要介绍1028 人口普查 (20 分),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

struct Man{
    string name;
    string birth;
    int year;
    int moonth;
    int day;
};

//bool cmp(Man m1,Man m2){
//    if(m1.year<m2.year){
//        return m1.year<m2.year;
//    }
//    if(m1.year==m2.year&&m1.moonth<m2.moonth){
//        return m1.moonth<m2.moonth;
//    }
//    if(m1.year==m2.year&&m1.moonth==m2.moonth&&m1.day<m2.day){
//        return m1.day<m2.day;
//    }
//}

int main()
{
    int n;
    cin>>n;
    Man man[n];
    Man manTemp;
    for(int i=0;i<n;i++){
        cin>>man[i].name>>man[i].birth;
    }
    for(int i=0;i<n;i++){
        man[i].year=0;
        man[i].moonth=0;
        man[i].day=0;
    }
    for(int i=0;i<n;i++){
        man[i].year+=(man[i].birth[0]-'0')*1000;
        man[i].year+=(man[i].birth[1]-'0')*100;
        man[i].year+=(man[i].birth[2]-'0')*10;
        man[i].year+=man[i].birth[3]-'0';
        man[i].moonth+=(man[i].birth[5]-'0')*10;
        man[i].moonth+=man[i].birth[6]-'0';
        man[i].day+=(man[i].birth[8]-'0')*10;
        man[i].day+=man[i].birth[9]-'0';
    }
    for(int i=n-1;i>0;i--){
        for(int j=0;j<i;j++){
            if((man[j].year>man[j+1].year)||(man[j].year==man[j+1].year&&man[j].moonth>man[j+1].moonth)||(man[j].year==man[j+1].year&&man[j].moonth==man[j+1].moonth&&man[j].day>man[j+1].day)){
                manTemp = man[j];
                man[j]= man[j+1];
                man[j+1]= manTemp;
            }
        }
    }
//    for(int i=n-1;i>0;i--){
//        for(int j=0;j<i;j++){
//            if(man[j].year==man[j+1].year&&man[j].moonth>man[j+1].moonth){
//                manTemp = man[j];
//                man[j]= man[j+1];
//                man[j+1]= manTemp;
//            }
//        }
//    }
//    for(int i=n-1;i>0;i--){
//        for(int j=0;j<i;j++){
//            if(man[j].year==man[j+1].year&&man[j].moonth==man[j+1].moonth&&man[j].day>man[j+1].day){
//                manTemp = man[j];
//                man[j]= man[j+1];
//                man[j+1]= manTemp;
//            }
//        }
//    }
//    sort(man,man+n,cmp);
//    cout<<"n";
//    for(int i=0;i<n;i++){
//         cout<<man[i].name<<" "<<man[i].birth<<"n";
//    }

    int f=0;
    string s1,s2;
    for(int i=0;i<n;i++){
        if(man[i].year<1814){
            f++;
        }else if(man[i].year==1814&&man[i].moonth<9){
            f++;
        }else if(man[i].year==1814&&man[i].moonth==9&&man[i].day<6){
            f++;
        }else{
            s1=man[i].name;
            break;
        }
    }
    for(int i=n-1;i>=0;i--){
        if((man[i].year>2014)||(man[i].year==2014&&man[i].moonth>9)||(man[i].year==2014&&man[i].moonth==9&&man[i].day>6)){
            f++;
        }else{
            s2=man[i].name;
            break;
        }
    }
    cout<<n-f;
    if((n-f)!=0){
        cout<<" "<<s1<<" "<<s2;
    }
    return 0;
}

 

最后

以上就是紧张戒指为你收集整理的1028 人口普查 (20 分)的全部内容,希望文章能够帮你解决1028 人口普查 (20 分)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部