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

Re:刚刚过,给后来的朋友说说我犯的毛病!

Posted by daixianyong at 2007-10-09 19:22:46 on Problem 1002
In Reply To:刚刚过,给后来的朋友说说我犯的毛病! Posted by:xcl119xcl at 2007-07-31 23:01:38
> 其实也是看别人的贴总结出来的
> 2点
> 1:最后如果没有符合条件的要cout<<"No duplicates. "<<endl;
> 2:最后的输出一定要符合条件,我是用的如下格式
> printf("%03d-%04d %d\n", tel[k-1]/10000, tel[k-1]%10000, count); 
> 
> 另外贴个我的代码,请大家多多指教,如何能减少时间
> #include <iostream>
> #include <string>
> #include <vector>
> #include <algorithm>
> using namespace std;
> 
> int main()
> {
> 	vector<int> tel;
> 	int line;
> 	string s;
> 	int num=0;
> 	cin>>line;
> 	int count=1;
> 	for(int i=0;i<line;i++)
> 	{
> 		cin>>s;
> 		for(int j=0;j<s.length();j++)
> 		{
> 			if(s[j]=='-')
> 				continue;
> 			num*=10;
> 			if(s[j]>47&&s[j]<58)			
> 			{
> 				num+=(s[j]-'0');
> 				continue;
> 			}
> 			if(s[j]>58&&s[j]<81)
> 			{
> 				num+=(s[j]-59)/3;
> 				continue;
> 			}
> 			if(s[j]>81)
> 				num+=(s[j]-60)/3;
> 		}		
> 		tel.insert(tel.end(),num);
> 		num=0;		
> 	}
> 	sort(tel.begin(),tel.end());
> 	bool have=true;
> 	int k=0;
> 	for(k=1;k<line;k++)
> 	{
> 		if(tel[k]==tel[k-1])
> 			count++;
> 		if(tel[k]!=tel[k-1]&&count>1)
> 		{
> 			//cout<<tel[k-1]/10000<<"-"<<tel[k-1]%10000<<" "<<count<<endl;
> 			printf("%03d-%04d %d\n", tel[k-1]/10000, tel[k-1]%10000, count); 
> 			count=1;
> 			have=false;
> 		}
> 
> 	}
> 	if(tel[k-1]==tel[k-2]&&count>1)
> 	{
> 		//cout<<tel[k-1]/10000<<"-"<<tel[k-1]%1000<<" "<<count<<endl;
> 		printf("%03d-%04d %d\n", tel[k-1]/10000, tel[k-1]%10000, count); 
> 		have=false;
> 	}
> 	if(have)
> 		cout<<"No duplicates. "<<endl;
> 	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