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

1039 到底买不买 更多...

函数

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

详细描述

1039 到底买不买

函数说明

◆ main()

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

在文件 pat.cpp1267 行定义.

1267 {
1268 string str1;
1269 string str2;
1270 cin >> str1 >> str2;
1271 unordered_map<char, int> um;
1272 for(char ch: str1) {
1273 um[ch]++;
1274 }
1275 bool yes = true;
1276 for(char ch: str2) {
1277 um[ch]--;
1278 if(um[ch] < 0) {
1279 yes = false;
1280 }
1281 }
1282 int sum = 0;
1283 for(auto [ch, count]: um) {
1284 if(yes && count > 0) {
1285 sum += count;
1286 } else if(!yes && count < 0) {
1287 sum -= count;
1288 }
1289 }
1290 cout << (yes ? "Yes " : "No ") << sum;
1291 return 0;
1292 }

被这些函数引用 TEST().

◆ TEST() [1/2]

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

在文件 pat_test.cpp597 行定义.

597 {
598 istringstream in("ppRYYGrrYBR2258\n"
599 "YrR8RrY");
600 auto out = ostringstream();
601 main(in, out);
602 const auto ans = out.str();
603 ASSERT_EQ("Yes 8", out.str());
604 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/2]

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

在文件 pat_test.cpp606 行定义.

606 {
607 istringstream in("ppRYYGrrYB225\n"
608 "YrR8RrY");
609 auto out = ostringstream();
610 main(in, out);
611 const auto ans = out.str();
612 ASSERT_EQ("No 2", out.str());
613 }

引用了 main().