結果
問題 |
No.3110 Like CPCTF?
|
ユーザー |
![]() |
提出日時 | 2025-04-19 13:25:56 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 765 bytes |
コンパイル時間 | 2,436 ms |
コンパイル使用メモリ | 78,008 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-04-19 13:26:00 |
合計ジャッジ時間 | 2,705 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
#include <iostream> uint32_t mask = 0, m; int main(){ int N, ans = 0; std::string S; std::cin >> N >> S; for(char & c : S) c -= 'A'; for(int n1 = 0; n1 < N - 4; ++n1){ m = 1U << S[n1]; mask |= m; for(int n2 = n1 + 1; n2 < N - 3; ++n2){ m = 1U << S[n2]; if((mask & m) != 0) continue; mask |= m; for(int n3 = n2 + 1; n3 < N - 2; ++n3){ if(S[n1] != S[n3]) continue; for(int n4 = n3 + 1; n4 < N - 1; ++n4){ m = 1U << S[n4]; if((mask & m) != 0) continue; mask |= m; for(int n5 = n4 + 1; n5 < N - 0; ++n5){ m = 1U << S[n5]; if((mask & m) != 0) continue; ans ++; } mask ^= (1U << S[n4]); } } mask ^= (1U << S[n2]); } mask ^= (1U << S[n1]); } std::cout << ans << std::endl; }