結果
問題 | No.150 "良問"(良問とは言っていない |
ユーザー | chakku |
提出日時 | 2016-03-18 14:13:13 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 14 ms / 5,000 ms |
コード長 | 805 bytes |
コンパイル時間 | 636 ms |
コンパイル使用メモリ | 61,724 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-11 02:00:25 |
合計ジャッジ時間 | 1,273 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 20 |
ソースコード
#include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; int haming(string s1,string s2){ int ret = 0; if(s1.length()!=s2.length()) return 101; for(int i=0;i<s1.length();i++){ if(s1[i]!=s2[i]) ret++; } return ret; } void solve(){ string s; cin >> s; int ans = 101; for(int i=0;i<=s.size()-11;i++){ int cnt1 = haming("good",s.substr(i,4)); int idx = i+4; int cnt2 = 101; for(int j = idx;j<=s.size()-7;j++){ int cnt_t = haming("problem",s.substr(j,7)); cnt2 = min(cnt2,cnt_t); } ans = min(ans,cnt1+cnt2); } cout << ans << endl; return; } int main(){ int T;cin>>T; for(int i=0;i<T;i++){ solve(); } return 0; }