結果
問題 | No.1005 BOT対策 |
ユーザー |
|
提出日時 | 2021-06-01 07:21:29 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,255 bytes |
コンパイル時間 | 2,129 ms |
コンパイル使用メモリ | 200,492 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-06-20 01:38:03 |
合計ジャッジ時間 | 3,069 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main(void) { cin.tie(0); ios::sync_with_stdio(false); string s, t; cin >> s; cin >> t; int res = 0; int n = s.length(); int m = t.length(); set <char> S, T; for (int i = 0; i < n; i++) { S.insert(s[i]); } for (int i = 0; i < m; i++) { T.insert(t[i]); } if (S.size() == 1 && T.size() == 1) { if (s[0] == t[0]) { if (m == 1) { cout << -1 << '\n'; } else { cout << (n/(m-1)) - 1 << '\n'; } } else { cout << 0 << '\n'; } return 0; } int idx = 0; while (1) { if (idx > n - m) { break; } if (s.substr(idx, m) == t) { res++; idx += m; } else { idx++; } } if (t.length() == 1) { if (res > 0) { cout << -1 << '\n'; } else { cout << res << '\n'; } } else { cout << res << '\n'; } return 0; }