Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

超时啊,怎么办啊,帮帮

Posted by cuiwj871128 at 2008-10-25 15:55:01
#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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator