| ||||||||||
| 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 | |||||||||
超时啊,怎么办啊,帮帮
#include<iostream>
#include<map>
#include<vector>
#include<string>
#include<strstream>
#include<algorithm>
using namespace std;
string str_change(string ss)
{
vector<string> vv;
string result;
for(int i=0;i<ss.size();i++)
{
if(ss[i]!='-')
{
string newword(ss.begin()+i,ss.begin()+i+1);
vv.push_back(newword);
}
}
for(int j=0;j<vv.size();j++)
result=result+vv[j];
for(int ii=0;ii<result.size();ii++)
{
switch(result[ii])
{
case 'A':
case 'B':
case 'C':
result[ii] = '2';
break;
case 'D':
case 'E':
case 'F':
result[ii] = '3';
break;
case 'G':
case 'H':
case 'I':
result[ii] = '4';
break;
case 'J':
case 'K':
case 'L':
result[ii] = '5';
break;
case 'M':
case 'N':
case 'O':
result[ii] = '6';
break;
case 'P':
case 'R':
case 'S':
result[ii] = '7';
break;
case 'T':
case 'U':
case 'V':
result[ii] = '8';
break;
case 'W':
case 'X':
case 'Y':
result[ii] = '9';
break;
default:break;
}
}
return result;
}
string change(string s)
{
string ss(s.begin(),s.begin()+3);
string st(s.begin()+3,s.end());
ss=ss+"-"+st;
return ss;
}
int main()
{
vector<string> ss;
int n;
cin>>n;
string ts;
map<string,int> mm;
int *a;
a=new int [n];
for(int ii=0;ii<n;ii++)
a[ii]=1;
int i;
while(n--)
{
cin>>ts;
ts=str_change(ts);
if(ss.size()==0)
ss.push_back(ts);
else
{
for(i=0;i<ss.size();i++)
{
if(ss[i]==ts)
{
a[i]++;
break;
}
}
if(i==ss.size())
{
ss.push_back(ts);
}
}
}
for(i=0;i<ss.size();i++)
{
mm[ss[i]]=a[i];
}
sort(ss.begin(),ss.end());
int temp;
for(int j=0;j<ss.size();j++)
{
temp=mm[ss[j]];
ss[j]=change(ss[j]);
mm[ss[j]]=temp;
if(mm[ss[j]]!=1)
cout<<ss[j]<<" "<<mm[ss[j]]<<endl;
}
delete a;
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator