problemscpp
A collection of my answers to algorithm problems in c++.
| 函数
pat::b::b1028 命名空间参考

1028 人口普查 更多...

struct  Person
 

函数

bool is_valid (int year, int month, int day)
 
int main (istream &cin, ostream &cout)
 
 TEST (b1028, case1)
 

详细描述

1028 人口普查

函数说明

◆ is_valid()

bool pat::b::b1028::is_valid ( int  year,
int  month,
int  day 
)

在文件 pat.cpp915 行定义.

915 {
916 if(year > 2014) {
917 return false;
918 }
919 if(year == 2014 && month > 9) {
920 return false;
921 }
922 if(year == 2014 && month == 9 && day > 6) {
923 return false;
924 }
925 if(year < 1814) {
926 return false;
927 }
928 if(year == 1814 && month < 9) {
929 return false;
930 }
931 if(year == 1814 && month == 9 && day < 6) {
932 return false;
933 }
934 return true;
935 }

被这些函数引用 leetcode::number_of_valid_words_in_a_sentence::Solution::countValidWords() , 以及 main().

◆ main()

int pat::b::b1028::main ( istream &  cin,
ostream &  cout 
)

在文件 pat.cpp937 行定义.

937 {
938 int n;
939 int count = 0;
940 cin >> n;
941 auto oldest = Person(2014, 9, 6);
942 auto youngest = Person(1814, 9, 6);
943 for(int i = 0; i < n; i++) {
944 Person p;
945 cin >> p.name >> p.year;
946 cin.get();
947 cin >> p.month;
948 cin.get();
949 cin >> p.day;
950 if(is_valid(p.year, p.month, p.day)) {
951 count++;
952 if(p < oldest) {
953 oldest = p;
954 }
955 if(youngest < p) {
956 youngest = p;
957 }
958 }
959 }
960 if(count > 0) {
961 cout << count << ' ' << oldest.name << ' ' << youngest.name;
962 } else {
963 cout << 0;
964 }
965 return 0;
966 }
bool is_valid(int year, int month, int day)
Definition: pat.cpp:915

引用了 pat::b::b1028::Person::day, is_valid(), pat::b::b1028::Person::month, pat::b::b1028::Person::name , 以及 pat::b::b1028::Person::year.

被这些函数引用 TEST().

◆ TEST()

pat::b::b1028::TEST ( b1028  ,
case1   
)

在文件 pat_test.cpp413 行定义.

413 {
414 istringstream in("5\nJohn 2001/05/12\nTom 1814/09/06\nAnn 2121/01/30\nJames 1814/09/05\nSteve 1967/11/20");
415 auto out = ostringstream();
416 main(in, out);
417 const auto ans = out.str();
418 ASSERT_EQ("3 Tom John", out.str());
419 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().