自己练手的

#include <iostream>  
#include <stdlib.h>
#include <string>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;  

map<int,int> sum;
map<int,int>::iterator it;
void quick_sort(int s[], int l, int r)  
{  
	if (l < r)  
	{  
		//Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换  
		int i = l, j = r, x = s[l];  
		while (i < j)  
		{  
			while(i < j && s[j] >= x) // 从右向左找第一个小于x的数  
				j--;    
			if(i < j)   
				s[i++] = s[j];  

			while(i < j && s[i] < x) // 从左向右找第一个大于等于x的数  
				i++;    
			if(i < j)   
				s[j--] = s[i];  
		}  
		s[i] = x;  
		quick_sort(s, l, i - 1); // 递归调用   
		quick_sort(s, i + 1, r);  
	}  
}  

void covert(char*input,char *output)
{
	char flag='0';
	char* p=output;
	
	int count=1;
	if (input==NULL)
	{
		output[0]='\0';
		return;
	}
	for (int i=0;input[i]!='\0';++i)
	{
		if (input[i]!=flag&&input[i]!='z')
		{
			*p++=input[i]+1;
			flag=input[i];
			count=1;
		}
		else if (input[i]=='z')
		{
			*p++='a';
		}
		else
		{
			count++;
			if (count%2==0)
			{
				*p=*(p-1)+1;
				p++;
			}
			else
			{
				*p++=input[i]+1;
			}
		}
	}
	*p='\0';	
}
int Equalchar(char *str)
{
	//非法输入
	if(str == NULL)
		return 0;
	int cnt = 0;
	int p,q;

	int len = strlen(str);
	for(int i = 0; i < len;i++)
	{
		for(int j=i+1; j < len;j++)
		{
			p = i;
			q = j;
			while(str[p] == str[q])
			{
				p++;
				q++;
				cnt++;
			}
			if(cnt > 1)
				return 1;
			cnt = 0;
		}
	}
	return 0;
}

void stringZip(const char *inputStr,long len,char *Outputstr)
{
	map<char,int> sum;
	int t=1;
	map<char,int>::iterator it;
	if (inputStr==NULL)
	    return;
	while(*inputStr!='\0')
	{
			it=sum.find(*inputStr);
			if (it!=sum.end())
			{
				int t=it->second;
				sum.erase(it);
				sum.insert(pair<char,int>(*inputStr,t+1));
				inputStr++;
			}
			else
			{
				sum.insert(pair<char,int>(*inputStr,1));
				inputStr++;
			}
		
	}
	
	for (it=sum.begin();it!=sum.end();++it)
	{
		if (it->second==1)
		{
			cout<<it->first;
		}
		else
		{
			cout<<it->second<<it->first;
		}
	}
	
}
bool huiwenshu(int &num)
{
	int temp=0;
	int num2=num;
		while (num2)
		{
			temp=temp*10+num2%10;
			num2=num2/10;
		}
		if (num==temp)
		return true;
		else
		{
			return false;
		}
		
}
void buqi(string &s1,int n)
{
	if(s1.size()<=n)
	{
		
		for(int i=0;i<n-s1.size();++i)
		s1=s1+'0';
	}
	else
	{
		s1=s1.substr(0,n);
	}
}
void string_cut(string a,int m,int n)  
{  
	int i = 0, j = 0;  
	cin>>m>>n;
	/*scanf("%d %d",&m,&n);*/  
	string *b = new string[m];  
	int z = m;  
	while(z>0)  
	{  
		cin>>a;  
		b[i++] = a;  
		z--;  
	}   
	for(i = 0; i < m; i++)  
	{  

		int k = b[i].size();  
		for(j = 0; j < k;j++)  
		{  
			if(j!=0 &&j % n == 0)  
			{  
				cout<<endl;  

			}  
			cout<<b[i][j];  

		}  
		if(k % n !=0)  
			for(j = 0;j<n-k%n;j++)  
				cout<<'0';  
		cout<<endl;  
	}  


}  
int main()
{
	//int a[100];
	/*int m;
	cin>>m;
	for(int i=0;i<=m-1;++i)
	{
	cin>>a[i];
	}
	quick_sort(a,0,m-1);
	for(int i=0;i<m;++i)
	{
	cout<<a[i]<<' ';
	}	
	cout<<endl;
	for (int i=0;i<m;++i)
	{
	it=sum.find(a[i]);
	if (it!=sum.end())
	{
	int t=it->second;
	sum.erase(it);
	sum.insert(pair<int,int>(a[i],t+1));
	}
	else
	{
	sum.insert(pair<int,int>(a[i],1));
	}
	}
	for (it=sum.begin();it!=sum.end();++it)
	{
	cout<<it->first<<' '<<it->second<<endl;
	}*/
	/*char ch[100];
	char output[100];
	cin>>ch;
	stringZip(ch,10,output);*/
	//string a;  
	//int m = 0,n = 0; 
	string_cut(a,m,n);
	//int i=0;
	//cin>>m>>n;
	//string *b=new string[m];
	//int z=m;
	//while (z)
	//{
	//	cin>>a;
	//	b[i++]=a;
	//	z--;
	//}

	//for (int i=0;i<m;++i)
	//{
	//	int k=b[i].size();
	//	for (int j=0;j<k;++j)
	//	{
	//		if (j!=0&&j%n==0)
	//		{
	//			cout<<endl;
	//		}

	//			cout<<b[i][j];
	//	}
	//	if (k%n!=0)
	//	{
	//		for (int j=0;j<n-k%n;++j )
	//			cout<<'0';
	//		    cout<<endl;
	//	}
	//}
	char s[1000];
	cin>>s;
	int i=Equalchar(s);
	cout<<i<<endl;
	return 0;

	//int t=strlen(output);
	//for (int i=0;i<t;++i)
	//{
	//	cout<<output[i];
	//}
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值