# 12328 - Looking for Chinese Tutor (exam) >author: Utin ###### tags: `STL` --- ## Brief See the code below ## Solution 0 ```cpp= #include <iostream> #include <map> #include <string> std::map<std::string, std::string> Map = { {"Wa", "Waninoko"}, {"Mi", "Milotic"}, {"Ma", "Magikarp"}, {"Va", "Vaporeon"}, {"Sh", "Sharpedo"}, {"Tapu", "Tapu Fini"}, {"Em", "Empoleon"}, {"La", "Lapras"}, {"Pi", "Pikachu"}, {"Pe", "Pikachu"}, {"Me", "Mega Gyarados"} }; int main() { int T; std::string name, school; std::cin >> T; while(T--) { std::string prefix = ""; std::cin >> name >> school; prefix.push_back(name[0]); prefix.push_back(name[1]); auto it = Map.find(prefix); if (it == Map.end()) { prefix.push_back(name[2]); prefix.push_back(name[3]); if (prefix == "Tapu") std::cout << name << " the " << school << ' ' << Map[prefix] << '\n'; else std::cout << name << " is looking for a Chinese tutor, too!\n"; } else std::cout << name << " the " << school << ' ' << Map[prefix] << '\n'; } } // By Utin ``` ## Solution 1 ```cpp= #include <bits/stdc++.h> int main() { int T; std::string name, school, pokemon; std::cin >> T; while (T--) { // get input std::cin >> name >> school; // process the data if (!name.find("Wa")) pokemon = "Waninoko"; else if (!name.find("Mi")) pokemon = "Milotic"; else if (!name.find("Ma")) pokemon = "Magikarp"; else if (!name.find("Va")) pokemon = "Vaporeon"; else if (!name.find("Sh")) pokemon = "Sharpedo"; else if (!name.find("Tapu")) pokemon = "Tapu Fini"; else if (!name.find("Em")) pokemon = "Empoleon"; else if (!name.find("La")) pokemon = "Lapras"; else if (!name.find("Pi")) pokemon = "Pikachu"; else if (!name.find("Pe")) pokemon = "Pikachu"; else if (!name.find("Me")) pokemon = "Mega Gyarados"; else pokemon = "NotFound"; // output if (pokemon != "NotFound") std::cout << name << " the " << school << ' ' << pokemon << '\n'; else std::cout << name << " is looking for a Chinese tutor, too!\n"; } } // By Utin ``` ## Reference