#include #include std::map charMap; void initMap() { charMap = {{'0', 0}, {'1', 1}}; for (char c: "ABCabc2") { charMap[c] = 2; } for (char c: "DEFdef3") { charMap[c] = 3; } for (char c: "GHIghi4") { charMap[c] = 4; } for (char c: "JKLjkl5") { charMap[c] = 5; } for (char c: "MNOmno6") { charMap[c] = 6; } for (char c: "PQRSpqrs7") { charMap[c] = 7; } for (char c: "TUVtuv8") { charMap[c] = 8; } for (char c: "WXYZwxyz9") { charMap[c] = 9; } } void runDataset() { int stringCount; std::map duplicatedCounts; std::cin >> stringCount; for (int _ = 0; _ < stringCount; _++) { std::string str; // int currentNumber = 0; std::string currentNumber; std::cin >> str; for (char c: str) { if (c == '-') { continue; } currentNumber += static_cast(charMap[c] + '0'); } duplicatedCounts[currentNumber]++; } bool noDuplicate = true; for (const auto &[number, count]: duplicatedCounts) { if (count > 1) { noDuplicate = false; std::cout << number.substr(0, 3) << "-" << number.substr(3) << " " << count << std::endl; } } if (noDuplicate) { std::cout << "No duplicates." << std::endl; } // std::cout << std::endl; } int main() { initMap(); // int datasetCount; // std::cin >> datasetCount; // for (int _ = 0; _ < datasetCount; _++) { // runDataset(); // } runDataset(); return 0; }