B1028. 人口普查

 

 

 基本思路#

  • 定义一个结构体person,persion的属性是姓名和生日
  • 生日用年、月、日来表示
  • 合法性判断(左右边界判断),先检查年,再检查月,最后检查日
复制代码
#include <bits/stdc++.h>

using namespace std;

struct Person {
    char name[10];
    int yy, mm, dd;
}youngest, oldest, left_p, right_p, temp;

void init() {
    youngest.yy = left_p.yy = 1814;
    youngest.mm = left_p.mm = 9;
    youngest.dd = left_p.dd = 6;
    oldest.yy = right_p.yy = 2014;
    oldest.mm = right_p.mm = 9;
    oldest.dd = right_p.dd = 6;
}

bool younger(Person person, Person target) {
    if (person.yy != target.yy) {
        return person.yy < target.yy;
    }
    if (person.mm != person.mm) {
        return person.mm < target.mm;
    }
    if (person.dd != person.dd) {
        return person.dd < target.dd;
    }    
    return false;
}

bool older(Person person, Person target) {
    if (person.yy != target.yy) { 
        return person.yy > target.yy;
    }
    if (person.mm != person.mm) {
        return person.mm > target.mm;
    }
    if (person.dd != person.dd) {
        return person.dd > target.dd;
    }
    return false;
}

int main(int argc, char* argv[]) {
    init();
    int N, yy, mm, dd, num = 0;
    cin >> N;    
    for (int i = 0; i < N; i++) {
        scanf("%s %d/%d/%d", temp.name, &temp.yy, &temp.mm, &temp.dd);
        if (younger(temp, right_p) && older(temp, left_p)) {
            num++;        
            if (younger(youngest, temp)) {
                youngest = temp;
            }
        
            if (older(oldest, temp)) {
                oldest = temp;
            }
        }
    }
    cout << num << ' ' << oldest.name << ' ' << youngest.name << ' ' << endl;
    return 0;
}
复制代码
posted @   BigBender  阅读(133)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示
主题色彩