初学者,直接暴力判断重复
#include<stdio.h>
#include<string.h>
int main(){
char str[1000];
int i,j;
int len,flag;//flag是判断是否有重复
int a1,a2,a3,a4;//每一种类型
while(scanf("%s", str) != EOF)
{
len=strlen(str);
a1=0;
a2=0;
a3=0;
a4=0;
if(len < 9)
{
printf("NG\n");
}
else
{
for(i=0; i<len; i++)
{
if(str[i] >= 'a' && str[i] <= 'z')
{
a1=1;
}
else if(str[i] >= 'A' && str[i] <= 'Z')
{
a2=1;
}
else if(str[i] >= '0' && str[i] <= '9')
{
a3=1;
}
else
{
a4=1;
}
}
if(a1+a2+a3+a4 < 3)
{
printf("NG\n");
}
else
{
flag = 0;
for(i=0; i < len-6; i++)
{
for(j=i+3; j < len-3; j++)
{
if(str[j]==str[i]&&str[j+1]==str[i+1]&&str[j+2]==str[i+2])
{
flag = 1;
}
}
}
if(flag == 1)
{
printf("NG\n");
}
else
{
printf("OK\n");
}
}
}
}
}