//漂亮串 AC代码,还可以优化,但是没时间做了 o_v_o. long result = dfs(n, 2, 0); System.out.println(result);     static long max = 1000000007;     static long[][][] record;     public static long dfs(int n, int count, int pre) {//count 表示 red数量 ; pre表示red前缀有几个。         if (record[n][count][pre] != 0) {             return record[n][count][pre];         }         if (n == 0) {             return count == 0 ? 1 : 0;         }         n--;         long ans = 0;         if (pre == 0) {             ans += dfs(n, count, 0) * 25 + dfs(n, count, 1);         } else if (pre == 1) {             ans += dfs(n, count, 2) + dfs(n, count, 1) + dfs(n, count, 0) * 24;         } else if (pre == 2) {             if (count == 0) {                 ans += dfs(n, count, 1) + dfs(n, count, 0) * 25;             } else {                 ans += dfs(n, count - 1, 0) + dfs(n, count, 1) + dfs(n, count, 0) * 24;             }         }         ans %= max;         record[n + 1][count][pre] = ans;         return ans;     } }