| ||||||||||
| 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 | |||||||||
Re:郁闷,偷懒用STL不行啊,超时.难道这道题不能用STL么In Reply To:Re:郁闷,偷懒用STL不行啊,超时.难道这道题不能用STL么 Posted by:badming at 2007-10-13 12:20:14 #include <cstdio>
#include <map>
#include <string>
using namespace std;
int main()
{
map<char,string> replace;
map<string,int> result;
for (int r='A';r<='P';r++)
replace[r]=(r-65)/3+50;
for (int m='R';m<='Y';m++)
replace[m]=(m-66)/3+50;
int num;
int flag=0;
string temp;
scanf("%d",&num);
for (int i=1;i<=num;i++)
{
scanf("%s",temp);
for(int j=0;j<temp.length();j++)
if (temp[j]=='-')
{
temp.erase(j,1);
j--;
}
for(unsigned s=0;s<temp.length();s++)
if (temp[s]<'Z' && temp[s]>='A' )
{
string cur=replace[temp[s]];
temp.replace(s,1,cur);
}
temp.insert(3,"-");
if (++result[temp]>=2 && flag==0)
flag=1;
}
if (flag==0)
printf("%s","No duplicates.\n");
else
for(map<string,int>::iterator it=result.begin();it!=result.end();it++)
if (it->second!=1)
printf("%s %d\n",it->first,it->second);
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator