#题目理解: #3、不能有长度大于2的包含公共元素的子串重复 #第一次读这句话的时候感觉真的好绕呀!看了一下别人的理解才明白, #其实就是不能有长度大于2的相同子串。 #感觉【包含公共元素的子串重复】这部分有点问题,人家都【重复】了, #当然就包含了公共元素了呀,不仅是包含公共元素,而且互为公共元素,因为都相等了 #检查长度函数 def checklen(a): if len(a)>8: return True else: return False #检查符号种数函数 def checknum(a): flag1=flag2=flag3=flag4=0 for i in a: if "A"<=i<="Z": flag1=1 elif "a"<=i<"z": flag2=1 elif "0"<=i<="9": flag3=1 else: flag4=1 if flag1+flag2+flag3+flag4>=3: return True else: return False #检查子串函数 def checksub(a): for i in range(len(a)-3): if a.count(a[i:i+3])>1: return False return True while True: try: a=input() if checklen(a) and checknum(a) and checksub(a): print("OK") else: print("NG") except: break