結果
問題 |
No.291 黒い文字列
|
ユーザー |
![]() |
提出日時 | 2015-12-08 19:56:01 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,565 bytes |
コンパイル時間 | 1,363 ms |
コンパイル使用メモリ | 163,696 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-14 20:23:04 |
合計ジャッジ時間 | 2,657 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 13 WA * 13 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i,n) for(int i=0;i<n;++i) #define Rep(i,n) for(int i=1;i<=n;++i) #define rrep(i,n) for(int i=n-1;0<=i;--i) #define rRep(i,n) for(int i=n;0<i;--i) #define range(i,a,b) for(int i=(a);i<(b);++i) #define mp make_pair #define pb push_back #define all(x) x.begin(), x.end() #define EPS 1e-8 #define INF 1e8 typedef double Real; typedef int Int; typedef vector<Int> vi; typedef vector<vector<Int> > vvi; typedef pair<Int,Int> pii; const vi dy = {-1, 0, 1, 0}, dx = {0, -1, 0, 1}; template <typename K, typename V> ostream& operator<< (ostream& out, const pair<K, V>& p) { out << '(' << p.first << ", " << p.second << ')'; return out; } template <typename T> ostream& operator<< (ostream& out, const vector<T>& v) { out << '['; rep(i, v.size()) out << v[i] << ","; out << "\b], " << v.size(); return out; } void solve(){ string S; cin >> S; int ans = 0; string KUROI = "KUROI"; vector<int> tmp; vector<bool> used(101, false); for(;;){ int state = 0; int currentFound = 0; for(int i=0;i<S.size();++i){ if(used[i]) continue; if(S[i]==KUROI[state]){ tmp.push_back(i); if(state == 4){ ++ans; ++currentFound; for(int x: tmp) used[x] = true; tmp.clear(); } state = (state + 1) % 5; } } tmp.clear(); if(!currentFound) break; } cout << ans << endl; } signed main() { cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(9); solve(); return 0; }