結果
| 問題 | 
                            No.3110 Like CPCTF?
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2025-04-20 10:58:34 | 
| 言語 | JavaScript  (node v23.5.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,400 bytes | 
| コンパイル時間 | 365 ms | 
| コンパイル使用メモリ | 8,096 KB | 
| 実行使用メモリ | 42,148 KB | 
| 最終ジャッジ日時 | 2025-04-20 10:58:37 | 
| 合計ジャッジ時間 | 2,562 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge3 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | WA * 3 | 
| other | WA * 16 | 
ソースコード
function countCPCTFSubstrings(S) {
    const N = S.length;
    let count = 0;
    
    // 5つの位置(p1, p2, p3, p4, p5)を選ぶ
    for (let p1 = 0; p1 < N; p1++) {
        for (let p2 = p1 + 1; p2 < N; p2++) {
            for (let p3 = p2 + 1; p3 < N; p3++) {
                for (let p4 = p3 + 1; p4 < N; p4++) {
                    for (let p5 = p4 + 1; p5 < N; p5++) {
                        // 部分文字列を構成
                        const c1 = S[p1];
                        const c2 = S[p2];
                        const c3 = S[p3];
                        const c4 = S[p4];
                        const c5 = S[p5];
                        
                        // CPCTF的の条件をチェック
                        if (
                            c1 === c3 && // 1文字目と3文字目が等しい
                            c1 !== c2 && c1 !== c4 && c1 !== c5 && // 1文字目と2,4,5文字目は異なる
                            c2 !== c3 && c2 !== c4 && c2 !== c5 && // 2文字目と他は異なる
                            c3 !== c4 && c3 !== c5 && // 3文字目と4,5文字目は異なる
                            c4 !== c5 // 4文字目と5文字目は異なる
                        ) {
                            count++;
                        }
                    }
                }
            }
        }
    }
    
    return count;
}