import javax.security.sasl.SaslClient;
import javax.swing.text.html.HTMLDocument;
import java.sql.SQLOutput;
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Set<Character> set1 = new HashSet<>();
set1.add('$');
set1.add('%');
set1.add('#');
set1.add('@');
set1.add('-');
set1.add('~');
set1.add('!');
set1.add('^');
set1.add('&');
set1.add('*');
set1.add('(');
set1.add(')');
set1.add('+');
//有人直接把set1去掉了,我认为这才符合一般情况,密码一般允许‘(’吧
while (scanner.hasNext()) {
int sign = 0;
String str = scanner.nextLine();
if(str.length() <= 8){
System.out.println("NG");
//sign = 1;
continue;
}
char[] cha = str.toCharArray();
int numsign = 0;
int uppersign = 0;
int lowersign = 0;
int othersign = 0;
for(int i = 0; i < str.length(); i++){
if (numsign == 0 &&(cha[i] >= '0' && cha[i] <= '9')){
numsign = 1;
}
if (uppersign == 0 && (cha[i] >= 'a' && cha[i] <= 'z' ) ){
uppersign = 1;
}
if (lowersign == 0 && (cha[i] >= 'A' && cha[i] <= 'Z')){
lowersign = 1;
}
if(othersign == 0 && set1.contains(cha[i])){
othersign = 1;
}
if(uppersign + lowersign + numsign + othersign == 3){
break;
}
}
if(uppersign + lowersign + numsign + othersign < 3){
System.out.println("NG");
//sign = 1;
continue;
}
Set<String> set = new HashSet<>();
for (int j = 0; j < str.length()-2; j++){
StringBuilder sb = new StringBuilder();
String str1 = sb.append(cha[j]).append(cha[j+1]).append(cha[j+2]).toString();
if(set.contains(str1)){
System.out.println("NG");
sign = 1;
break;
}else{
set.add(str1);
}
}
if(sign == 0){
System.out.println("OK");
}
}
}
}
//有人直接把set1去掉了,直接一个else搞定,
我认为加上set1这才符合一般情况,密码一般不允许‘(’吧
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int sign = 0;
String str = scanner.nextLine();
if(str.length() <= 8){
System.out.println("NG");
//sign = 1;
continue;
}
char[] cha = str.toCharArray();
int numsign = 0;
int uppersign = 0;
int lowersign = 0;
int othersign = 0;
for(int i = 0; i < str.length(); i++){
if (numsign == 0 &&(cha[i] >= '0' && cha[i] <= '9')){
numsign = 1;
}
else if (uppersign == 0 && (cha[i] >= 'a' && cha[i] <= 'z' ) ){
uppersign = 1;
}
else if (lowersign == 0 && (cha[i] >= 'A' && cha[i] <= 'Z')){
lowersign = 1;
}
else {
othersign = 1;
}
if(uppersign + lowersign + numsign + othersign == 3){
break;
}
}
if(uppersign + lowersign + numsign + othersign < 3){
System.out.println("NG");
//sign = 1;
continue;
}
Set<String> set = new HashSet<>();
for (int j = 0; j < str.length()-2; j++){
StringBuilder sb = new StringBuilder();
String str1 = sb.append(cha[j]).append(cha[j+1]).append(cha[j+2]).toString();
if(set.contains(str1)){
System.out.println("NG");
sign = 1;
break;
}else{
set.add(str1);
}
}
if(sign == 0){
System.out.println("OK");
}
}
}
}
京公网安备 11010502036488号