| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我用g++在linux下面运行没问题,但是提交却总是说Wrong Answer,请指点/**
* COPYRIGHT (C) 2010.
* Author: Julia Nie.
*/
#include <iostream>
#include <sstream>
#include <string>
#include <iterator>
#include <map>
using std::string;
using std::iterator;
using std::map;
map<char, char> char2Num;
void MapChar2Num()
{
char2Num.insert(std::pair<char, char>('A', '2'));
char2Num.insert(std::pair<char, char>('B', '2'));
char2Num.insert(std::pair<char, char>('C', '2'));
char2Num.insert(std::pair<char, char>('D', '3'));
char2Num.insert(std::pair<char, char>('E', '3'));
char2Num.insert(std::pair<char, char>('F', '3'));
char2Num.insert(std::pair<char, char>('G', '4'));
char2Num.insert(std::pair<char, char>('H', '4'));
char2Num.insert(std::pair<char, char>('I', '4'));
char2Num.insert(std::pair<char, char>('J', '5'));
char2Num.insert(std::pair<char, char>('K', '5'));
char2Num.insert(std::pair<char, char>('L', '5'));
char2Num.insert(std::pair<char, char>('M', '6'));
char2Num.insert(std::pair<char, char>('N', '6'));
char2Num.insert(std::pair<char, char>('O', '6'));
char2Num.insert(std::pair<char, char>('P', '7'));
char2Num.insert(std::pair<char, char>('R', '7'));
char2Num.insert(std::pair<char, char>('S', '7'));
char2Num.insert(std::pair<char, char>('T', '8'));
char2Num.insert(std::pair<char, char>('U', '8'));
char2Num.insert(std::pair<char, char>('V', '8'));
char2Num.insert(std::pair<char, char>('W', '9'));
char2Num.insert(std::pair<char, char>('X', '9'));
char2Num.insert(std::pair<char, char>('Y', '9'));
char2Num.insert(std::pair<char, char>('1', '1'));
char2Num.insert(std::pair<char, char>('2', '2'));
char2Num.insert(std::pair<char, char>('3', '3'));
char2Num.insert(std::pair<char, char>('4', '4'));
char2Num.insert(std::pair<char, char>('5', '5'));
char2Num.insert(std::pair<char, char>('6', '6'));
char2Num.insert(std::pair<char, char>('7', '7'));
char2Num.insert(std::pair<char, char>('8', '8'));
char2Num.insert(std::pair<char, char>('9', '9'));
char2Num.insert(std::pair<char, char>('0', '0'));
}
string ToStandard(string & sVal)
{
string sNumPhone;
string::iterator ite;
map<char, char>::iterator pos;
for (ite = sVal.begin(); ite != sVal.end(); ++ite) {
pos = char2Num.find(*ite);
if (pos != char2Num.end())
sNumPhone.push_back(pos->second);
}
if (sNumPhone.size() == 7)
sNumPhone.insert(3, 1, '-');
else
sNumPhone = "";
return sNumPhone;
}
int main(int agrc, char * argv[])
{
string sStrPhone;
map<string, int> phoneSet;
map<string, int>::iterator ite;
unsigned int unCount;
MapChar2Num();
std::cin >> unCount;
while (unCount > 0) {
//getline(std::cin, sStrPhone, '\n');
std::cin >> sStrPhone;
if (sStrPhone == "")
continue;
sStrPhone = ToStandard(sStrPhone);
if (sStrPhone == "")
continue;
++phoneSet[sStrPhone];
--unCount;
}
for (ite = phoneSet.begin(); ite != phoneSet.end(); ++ite) {
if (ite->second >1)
std:: cout << ite->first << " " << ite->second << std::endl;
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator