SK


私信TA

用户名:1973231998

访问量:20043

签 名:

成功只是一时的,失败才是主旋律,笑着面对失败是主要的。

等  级
排  名 258
经  验 5901
参赛次数 0
文章发表 59
年  龄 0
在职情况 学生
学  校 *
专  业

  自我简介:

解题思路:
个人思路就是错位循环比较,成功就输出段数,不成功就说明不重复,输出1;

注意事项:
最开始错误91,不知道原因,后面换了个输入,gets换成scanf,成功AC。
参考代码:

#include<bits/stdc++.h>
using namespace std;
char * fx(char* p,int *sp)
{
	int len = strlen(p);
	p[len] = p[0];
	p[len + 1] = '\0';
	(*sp)++;
	return &p[1];
}
int main()
{
	char a[1001];
	char b[3001];
	scanf("%s",a);
	strcpy(b,a);
	int l = strlen(a);
	int s =0;
	char* p, * q;
	p = a;
	q = b;
	q=fx(q, &s);
	for (int i = 0; i < l-1; i++)
	{
		if (strcmp(p, q) == 0)
		{
			cout << l / s;
			break;
		}
		else q=fx(q, &s);
		if (i ==l-2) cout << "1";
	}

}


 

0.0分

5 人评分

  评论区

  • «
  • »