啧啧,刚开始我用双链表寻址做的,感觉跟傻子一样,非双一流垃圾大学,别喷我
importjava.util.Scanner;
publicclassbaolisousuo {
    //反转函数
    publicstaticString reverse(String str)
    {
        StringBuilder sb=newStringBuilder(str);
        String r_str=sb.reverse().toString();
        returnr_str;
    }
    publicstaticvoidmain(String[] args) {
 
        booleansign=false; // 标识符 判断都符不符合规定
        Scanner sc=newScanner(System.in);
        Scanner sc1=newScanner(System.in);
        intcount=sc1.nextInt();
        String[] strs=newString[count];
        for(inti=0;i<count;i++)
        {
            strs[i]=sc.nextLine();
        }
        String str1=strs[0];
        String reverse_str1=reverse(str1);       //反转第一个字符串
        String zx_str=str1+str1;//正向字符串相加
        String fx_str=reverse_str1+reverse_str1; //反向字符串相加
 
        for(intj=1;j<count;j++)
        {
            sign=decide(zx_str,fx_str,strs[j]);
        }
        if(sign)
        {
            System.out.println("Yeah!!!!Success!!!!");
        }
        else
        {
            System.out.println("Fuck!!!!!Sad!!!!!!");
 
        }
 
    }
 
    privatestaticbooleandecide(String zx_str, String fx_str, String str2) {
        if(zx_str.contains(str2)||fx_str.contains(str2))
        {
            returntrue;  
        }
        else
        {
            returnfalse;
        }
    }
}