hdu 1800 Flying to the Mars

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1800


就是找出最大的相同个数。  有可能,有前缀0.所以要去掉前缀0。 这个点错了几次。。= =!

用map ,100W个数据,1秒内一般会超时!!!这时还是果断码字典树!



下面是AC代码:

#include<iostream>
#include<map>
#include<string>

using namespace std;
int main()
{
	int n,i;
	char str[50];
	string temp;
	while(cin>>n)
	{
		if(n==0)
		{
			cout<<0<<endl;
			continue;
		}
		map<string ,int > mm;
		map<string ,int >::iterator it;
		
		for(i=0;i<n;i++)
		{
			scanf("%s",str);
			temp=str;
		

			while(temp[0]=='0')
			{
				if(temp.size()==1)
					break;
				temp=temp.substr(1);
			}
		//	cout<<temp<<endl;

			mm[temp]++;
		}
		int 	max=1;
		for(it=mm.begin();it!=mm.end();it++)
		{
			if(it->second>max)
				max=it->second;
			
		}
		cout<<max<<endl;
		
		mm.clear();
	}
	
	
	
	return 0;
}


你可能感兴趣的:(hdu 1800 Flying to the Mars)