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

1069 微博转发抽奖 更多...

函数

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

详细描述

1069 微博转发抽奖

函数说明

◆ main()

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

在文件 pat.cpp2397 行定义.

2397 {
2398 int m;
2399 int n;
2400 int s;
2401 cin >> m >> n >> s;
2402 string name;
2403 unordered_set<string> names;
2404 vector<string> list(m);
2405 int cnt = 0;
2406 for(int i = 0; i < m; i++) {
2407 cin >> list[i];
2408 }
2409 for(int i = s - 1; i < m;) {
2410 if(names.contains(list[i])) {
2411 i++;
2412 continue;
2413 }
2414 names.insert(list[i]);
2415 cout << list[i] << endl;
2416 cnt++;
2417 i += n;
2418 }
2419 if(cnt == 0) {
2420 cout << "Keep going...";
2421 }
2422 return 0;
2423 }

被这些函数引用 TEST().

◆ TEST() [1/2]

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

在文件 pat_test.cpp1097 行定义.

1097 {
1098 istringstream in("9 3 2\n"
1099 "Imgonnawin!\n"
1100 "PickMe\n"
1101 "PickMe\n"
1102 "LookHere\n"
1103 "Imgonnawin!\n"
1104 "TryAgainAgain\n"
1105 "TryAgainAgain\n"
1106 "Imgonnawin!\n"
1107 "TryAgainAgain");
1108 auto out = ostringstream();
1109 main(in, out);
1110 const auto ans = out.str();
1111 ASSERT_EQ("PickMe\n"
1112 "Imgonnawin!\n"
1113 "TryAgainAgain\n",
1114 out.str());
1115 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/2]

pat::b::b1069::TEST ( b1069  ,
case2   
)

在文件 pat_test.cpp1117 行定义.

1117 {
1118 istringstream in("2 3 5\n"
1119 "Imgonnawin!\n"
1120 "PickMe\n");
1121 auto out = ostringstream();
1122 main(in, out);
1123 const auto ans = out.str();
1124 ASSERT_EQ("Keep going...", out.str());
1125 }

引用了 main().