zoukankan      html  css  js  c++  java
  • PTA 乙级 1028 人口普查 (20分) C/C++(全部测试点分析)

     总共写了两版,第一版的代码复制较多,所以改了第二版

    测试点0:一开始这个测试点错了很多遍,后来做了个标志位存储第一个数据,就通过了。。。

    测试点1、2:若有超出年龄范围的,则无法通过此测试点

    测试点3:有效次数为0时,必须仅输出0,后面不可有其他的数据

    测试点4:挺容易超时,建议不要用java做本题

    C/C++

    第一版

     1 #include<iostream>
     2 #include<string>
     3 
     4 using namespace std;
     5 
     6 struct {
     7     int y;
     8     int m;
     9     int d;
    10     string name;
    11 }ol, yo, man;
    12 
    13 int main() {
    14     /*总人数*/
    15     int n = 0;
    16     /*有效次数*/
    17     int    ef = 0;
    18     int flag = 1;
    19     cin >> n;
    20     for (int i = 0; i < n; i++) {
    21         cin >> man.name;    
    22         scanf("%d/%d/%d", &man.y, &man.m, &man.d);    //为通过vs的编译则用scanf_s,实际PTA的OJ系统不用
    23         //是否超出年龄限制
    24         if (man.y > 2014) continue;
    25         else if (man.y == 2014 && man.m > 9) continue;
    26         else if (man.y == 2014 && man.m == 9 && man.d > 6) continue;
    27         if (man.y < 1814) continue;
    28         else if (man.y == 1814 && man.m < 9) continue;
    29         else if (man.y == 1814 && man.m == 9 && man.d < 6) continue;
    30         //有效人数增加
    31         ef++;
    32 
    33         if (flag) {
    34             ol = man;
    35             yo = man;
    36             flag = 0;
    37         }
    38         //年龄较大
    39         if (man.y < ol.y) ol = man;
    40         else if (man.y == ol.y && man.m < ol.m) ol = man;
    41         else if (man.y == ol.y && man.m == ol.m && man.d < ol.d) ol = man;
    42         //年龄较小
    43         if (man.y > yo.y) yo = man;
    44         else if (man.y == yo.y && man.m > yo.m) yo = man;
    45         else if (man.y == yo.y && man.m == yo.m && man.d > yo.d) yo = man;
    46     }
    47     if (ef == 0)cout << ef;    //有效人数为0,则直接输出0(不可多输出空格,否则测试点3无法通过)
    48     else cout << ef << " " << ol.name << " " << yo.name; 
    49     return 0;
    50 }

    第二版

     1 #include<iostream>
     2 #include<string>
     3 
     4 using namespace std;
     5 
     6 typedef struct {    //以人为单位的结构体
     7     int y;
     8     int m;
     9     int d;
    10     string name;
    11 }human;
    12 
    13 int cmp(human *a,human *b) {            //比较函数(a大返回1,b大返回0)
    14     int aflag = 0;
    15     if (a->y > b->y) aflag = 1;
    16     else if (a->y == b->y && a->m > b->m) aflag = 1;
    17     else if (a->y == b->y && a->m == b->m && a->d > b->d) aflag = 1;
    18     return aflag;
    19 }
    20 
    21 int main() {
    22     /*总人数*/
    23     int n = 0;
    24     /*有效人数*/
    25     int    ef = 0;
    26     int flag = 1;
    27     /*所有人结构体*/
    28     human ol, yo, man, oldm, yonm;
    29     oldm = { 1814,9,6,"max" };            //年龄最大
    30     yonm = { 2014,9,6,"min" };            //年龄最小
    31     cin >> n;
    32     for (int i = 0; i < n; i++) {
    33         //输入
    34         cin >> man.name;
    35         scanf("%d/%d/%d", &man.y, &man.m, &man.d);    //为通过vs的编译则用scanf_s,实际PTA的OJ系统不用
    36         //判断是否超过年龄限制
    37         if (cmp(&man, &yonm))continue;
    38         if (cmp(&oldm, &man))continue;
    39         //未超过年龄限制,有效人数增加
    40         ef++;
    41         if (flag) {
    42             ol = man;
    43             yo = man;
    44             flag = 0;
    45         }
    46         if (cmp(&yo, &man))yo = man;    //统计年龄最大
    47         if (cmp(&man, &ol))ol = man;    //统计年龄最小
    48     }
    49     if (ef == 0)cout << ef;                //有效人数为0,则直接输出0(不可多输出空格,否则测试点3无法通过)
    50     else cout << ef << " " << yo.name << " " << ol.name;
    51     return 0;
    52 }

     

  • 相关阅读:
    Selenium简单测试页面加载速度的性能(Page loading performance)
    Selenium Page object Pattern usage
    Selenium如何支持测试Windows application
    UI Automation的两个成熟的框架(QTP 和Selenium)
    分享自己针对Automation做的两个成熟的框架(QTP 和Selenium)
    敏捷开发中的测试金字塔(转)
    Selenium 的基础框架类
    selenium2 run in Jenkins GUI testing not visible or browser not open but run in background浏览器后台运行不可见
    eclipse与SVN 结合(删除SVN中已经上传的问题)
    配置Jenkins的slave节点的详细步骤适合windows等其他平台
  • 原文地址:https://www.cnblogs.com/SCP-514/p/13302933.html
Copyright © 2011-2022 走看看