[蓝桥杯] 算法训练 字串统计 ALGO-67

模拟题,数据量较小,直接暴力枚举

#include <iostream>
using namespace std;
int main(){
	int tlen,tans=0,ansf=0;
	cin>>tlen;
	string text,mode,ans;
	cin>>text;
	while(tlen<text.length())
	{
		for(int i=0;i<=text.length()-tlen;i++)
		{
			mode="";
			int tmp=0;
			while(tmp<tlen)
			{
				mode=mode+text[i+tmp];
				tmp++;
			}
			tans=0;
			for(int i=0;i<text.length();i++)
			{
				if(text[i]==mode[0])
				{
					int j;
					for(j=1;j<mode.length();j++)
					{
						if(mode[j]!=text[i+j])
							break;
					}
					if(j==mode.length())
						tans++;
				}
			}
			if(tans==ansf&&mode.length()>ans.length())
			{ 
				ansf=tans;
				ans=mode;
			}
			else if(tans>ansf)
			{
				ansf=tans;
				ans=mode;
			}
		}
		tlen++;
	}
	cout<<ans<<endl;
	return 0;
}

 

posted @ 2018-03-11 10:40  张浦  阅读(69)  评论(0编辑  收藏  举报