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

  1. 不做最后一个!
更多...

函数

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

详细描述

  1. 不做最后一个!

函数说明

◆ main()

int acwing::acwing1800::main ( istream &  cin,
ostream &  cout 
)

在文件 acwing.cpp6209 行定义.

6209 {
6210 unordered_map<string, unsigned> um;
6211 um["Bessie"] = 0;
6212 um["Elsie"] = 0;
6213 um["Daisy"] = 0;
6214 um["Gertie"] = 0;
6215 um["Annabelle"] = 0;
6216 um["Maggie"] = 0;
6217 um["Henrietta"] = 0;
6218 unsigned short n;
6219 cin >> n;
6220 string name;
6221 unsigned amount;
6222 unsigned minimum = 0;
6223 while(n-- != 0U) {
6224 cin >> name >> amount;
6225 um[name] += amount;
6226 minimum = max(minimum, um[name]);
6227 }
6228 unsigned second_minimum = minimum;
6229 for(auto &[name, amount]: um) {
6230 minimum = min(minimum, amount);
6231 }
6232 for(auto &[name, amount]: um) {
6233 if(amount != minimum && amount < second_minimum) {
6234 second_minimum = amount;
6235 }
6236 }
6237 string ans;
6238 for(auto &[name, amount]: um) {
6239 if(second_minimum == amount) {
6240 if(ans.empty()) {
6241 ans = name;
6242 } else {
6243 cout << "Tie";
6244 return 0;
6245 }
6246 }
6247 }
6248 cout << ans;
6249 return 0;
6250 }

被这些函数引用 TEST().

◆ TEST()

acwing::acwing1800::TEST ( acwing1800  ,
case1   
)

在文件 acwing_test.cpp2920 行定义.

2920 {
2921 istringstream in("10\n"
2922 "Bessie 1\n"
2923 "Maggie 13\n"
2924 "Elsie 3\n"
2925 "Elsie 4\n"
2926 "Henrietta 4\n"
2927 "Gertie 12\n"
2928 "Daisy 7\n"
2929 "Annabelle 10\n"
2930 "Bessie 6\n"
2931 "Henrietta 5");
2932 auto out = ostringstream();
2933 main(in, out);
2934 const auto ans = out.str();
2935 ASSERT_EQ("Henrietta", ans);
2936 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().