POJ——1002 487-3279

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MrWilliamVs/article/details/47186925
#include<iostream>
#include<string>
#include<string.h>
#include<vector>
#include<map>

using namespace std;

string number_change(string number);
char single_change(char ch);
map<string, int> cnt;
bool flag = false;


int main()
{
	int n; 
  
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		string number, number_to;
		cin >> number;
		number_to = number_change(number);
		++cnt[number_to];
	}                                    
	
	for (map<string, int>::iterator it = cnt.begin(); it != cnt.end(); it++)
	{
		if (it->second > 1)
		{
			cout << it->first << ' ' << it->second << endl;
			flag = true;
		}
	}
	if (!flag)
		printf("No duplicates. ");

   return 0;
}


string number_change(string number)
{
	int len = number.length();
	int count = 0;
	string   temp_str , change_number = "";
	for (int i = 0; i < len; i++)
	{
		if (isalnum(number[i]))
		{
			temp_str = single_change(number[i]);
			change_number = change_number + temp_str;
		}
	}
	
	change_number.insert(3, "-");
	
	return change_number;
}

char single_change(char ch)
{
	if (ch == 'A' || ch == 'B' || ch == 'C')
	{
		return '2';
	}
	else if (ch == 'D' || ch == 'E' || ch == 'F')
	{
		return '3';
	}
	else if (ch == 'G' || ch == 'H' || ch == 'I')
	{
		return '4';
	}
	else if (ch == 'J' || ch == 'K' || ch == 'L')
	{
		return '5';
	}
	else if (ch == 'M' || ch == 'N' || ch == 'O')
	{
		return '6';
	}
	else if (ch == 'P' || ch == 'R' || ch == 'S')
	{
		return '7';
	}
	else if (ch == 'T' || ch == 'U' || ch == 'V')
	{
		return '8';
	}
	else if (ch == 'W' || ch == 'X' || ch == 'Y')
	{
		return '9';
	}
	else
	{
		return ch;
	}
}

猜你喜欢

转载自blog.csdn.net/MrWilliamVs/article/details/47186925