题目链接:点击打开链接
代码:
#include<stdio.h>
#include<string.h>
char q[10010],q1[10010];
int main()
{
int a;
scanf("%d",&a);
while(a--)
{
scanf("%s",q);
long long s=strlen(q);
// memset(q1,'0',sizeof(q1));
// memset(q2,'0',sizeof(q2));
for(long long i=0; i<s; i++)
{
q1[i+1]=q[i];
// q2[s-i]=q[i];
}
// q1[s+1]='\0';
// q2[s+1]='\0';
long long sum=0;
for(long long i=1; i<=s; i++)
{
if(i*2*2>s)
break;
if(q1[i]=='y')
{
for(long long j=2; i*j*j<=s; j++)
{
if(q1[i*j]=='r'&&q1[i*j*j]=='x')
sum++;
}
}
if(q1[i]=='x')
{
for(long long j=2; i*j*j<=s; j++)
{
if(q1[i*j]=='r'&&q1[i*j*j]=='y')
sum++;
}
}
}
// for(long long i=1; i<=s; i++)
// {
// if(i*2*2>s)
// break;
//
// }
printf("%I64d\n",sum);
}
return 0;
}
有坑点,不能倒过来!!!