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

1015 德才论 更多...

struct  student
 

函数

int main (istream &cin, ostream &cout)
 
 TEST (b1015, case1)
 

详细描述

1015 德才论

函数说明

◆ main()

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

在文件 pat.cpp489 行定义.

489 {
490 unsigned int n;
491 unsigned int l;
492 unsigned int h;
493 cin >> n >> l >> h;
494 vector<student> sector[4] = {vector<student>(), vector<student>(), vector<student>(), vector<student>()};
495 int sum = 0;
496 for(int i = 0; i < n; i++) {
497 auto stu = student();
498 cin >> stu.id >> stu.morality >> stu.ability;
499 if(stu.morality >= l && stu.ability >= l) {
500 sum++;
501 if(stu.morality >= h && stu.ability >= h) {
502 sector[0].push_back(stu);
503 } else if(stu.morality >= h) {
504 sector[1].push_back(stu);
505 } else if(stu.morality < h && stu.ability < h && stu.morality >= stu.ability) {
506 sector[2].push_back(stu);
507 } else {
508 sector[3].push_back(stu);
509 }
510 }
511 }
512 cout << sum << endl;
513 for(int i = 0; i < 4; i++) {
514 sort(sector[i].begin(), sector[i].end());
515 for(auto it = sector[i].begin(); it != sector[i].end(); ++it) {
516 auto stu = *it;
517 cout << stu.id << ' ' << stu.morality << ' ' << stu.ability << endl;
518 }
519 }
520 return 0;
521 }
struct acwing::acwing3378::student student

被这些函数引用 TEST().

◆ TEST()

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

在文件 pat_test.cpp206 行定义.

206 {
207 istringstream in("14 60 80\n"
208 "10000001 64 90\n"
209 "10000002 90 60\n"
210 "10000011 85 80\n"
211 "10000003 85 80\n"
212 "10000004 80 85\n"
213 "10000005 82 77\n"
214 "10000006 83 76\n"
215 "10000007 90 78\n"
216 "10000008 75 79\n"
217 "10000009 59 90\n"
218 "10000010 88 45\n"
219 "10000012 80 100\n"
220 "10000013 90 99\n"
221 "10000014 66 60");
222 auto out = ostringstream();
223 main(in, out);
224 const auto ans = out.str();
225 ASSERT_EQ("12\n"
226 "10000013 90 99\n"
227 "10000012 80 100\n"
228 "10000003 85 80\n"
229 "10000011 85 80\n"
230 "10000004 80 85\n"
231 "10000007 90 78\n"
232 "10000006 83 76\n"
233 "10000005 82 77\n"
234 "10000002 90 60\n"
235 "10000014 66 60\n"
236 "10000008 75 79\n"
237 "10000001 64 90\n",
238 ans);
239 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().