結果

問題 No.3110 Like CPCTF?
ユーザー ardririy
提出日時 2025-04-18 23:21:02
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 110 ms / 2,000 ms
コード長 1,412 bytes
コンパイル時間 234 ms
コンパイル使用メモリ 11,904 KB
実行使用メモリ 10,240 KB
最終ジャッジ日時 2025-04-18 23:21:05
合計ジャッジ時間 2,196 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 16
権限があれば一括ダウンロードができます

ソースコード

diff #

from itertools import combinations

def main():
    n = int(input())
    s = input()
    
    ans = 0
    for combo in combinations(s, 5):
        valid = True
        for i in range(5):
            for j in range(i+1, 5):
                if i == 0 and j == 2:
                    if combo[i] != combo[j]:
                        valid = False
                        break
                else:
                    if combo[i] == combo[j]:
                        valid = False
                        break
            if not valid:
                break
        
        if valid:
            ans += 1
    
    print(ans)

if __name__ == "__main__":
    main()
   
  
"""
translated by Claude3.7 Sonnet
use itertools::Itertools;
use proconio::input;
use proconio::marker::Chars;
fn main() {
    input!{
        _n: i32,
        s: Chars,
    }

    let ans = s.iter()
        .copied()
        .combinations(5)
        .map(|v| {
            for i in 0..5 {
                for j in i+1..5 {
                    if i == 0 && j == 2 {
                        if v[i] != v[j] {
                            return 0;
                        }
                    } else {
                        if v[i] == v[j] {
                            return 0;
                        } 
                    }
                }
            }
            1
        })
        .sum::<i32>();
    println!("{}", ans);
}
"""
0