結果

問題 No.3110 Like CPCTF?
ユーザー keigo kuwata
提出日時 2025-04-20 10:57:01
言語 JavaScript
(node v23.5.0)
結果
WA  
実行時間 -
コード長 1,453 bytes
コンパイル時間 286 ms
コンパイル使用メモリ 7,968 KB
実行使用メモリ 44,456 KB
最終ジャッジ日時 2025-04-20 10:57:06
合計ジャッジ時間 2,426 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample WA * 3
other WA * 16
権限があれば一括ダウンロードができます

ソースコード

diff #

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 sub = [S[p1], S[p2], S[p3], S[p4], S[p5]];
                        
                        // CPCTF的の条件をチェック
                        // 1. 1文字目と3文字目のみが等しい
                        // 2. それ以外の文字はすべて互いに異なる
                        if (sub[0] === sub[2] &&
                            sub[0] !== sub[1] && sub[0] !== sub[3] && sub[0] !== sub[4] && 
                            sub[1] !== sub[2] && sub[1] !== sub[3] && sub[1] !== sub[4] && 
                            sub[2] !== sub[3] && sub[2] !== sub[4] && 
                            sub[3] !== sub[4]) {
                            count++;
                        }
                    }
                }
            }
        }
    }
    
    return count;
}

// テスト例
console.log(countCPCTFSubstrings("ABACD")); // CPCTF的な文字列自体
console.log(countCPCTFSubstrings("ABABC")); // CPCTF的でない文字列
0