• 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;
    }
  • 相关阅读:
    Redis与Memcached的incr/decr差异对比
    Linux sudo用法与配置
    Docker 常用命令
    Linux之间配置SSH互信(SSH免密码登录)
    SVN服务器搭建
    shell中参数的传递
    【代码更新】IIC协议建模——读写EEPROM
    串口完整项目之串口收发字符串
    串口发送模块——1字节数据发送
    状态机设计——从简单的按键消抖开始
  • 原文地址:https://www.cnblogs.com/YC-L/p/12271755.html
Copyright © 2020-2023  润新知