結果
| 問題 |
No.150 "良問"(良問とは言っていない
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-06-29 16:02:58 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,019 bytes |
| コンパイル時間 | 807 ms |
| コンパイル使用メモリ | 69,144 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-06-30 23:49:00 |
| 合計ジャッジ時間 | 1,502 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 1 |
| other | AC * 3 WA * 17 |
ソースコード
#include <iostream>
#include <string>
#include <string.h>
#include <vector>
using namespace std;
bool Check(char *pStr)
{
char *p,*q;
p=strstr(pStr,"good");
if (p){
p++;
q=strstr(p,"problem");
if (q){
return true;
}
}
return false;
}
int main(int argc, char* argv[])
{
int T;
cin>>T;
int l,i,j,k;
string good="good";
string problem="problem";
for (l=0;l<T;l++){
string S;
cin>>S;
if (Check((char*)S.c_str())){
cout<<0<<endl;
continue;
}
int sLen=S.size();
int goodproblemMin=11;
for (i=0;i<=sLen-11;i++){
int goodMin=4;
int problemMin=7;
k=0;
int gNum=0;
for (j=i;j<i+4;j++){
if (S[j]!=good[k++]){
gNum++;
}
}
if (goodMin>gNum){
goodMin=gNum;
}
k=0;
int pNum=0;
for (j=i+4;j<i+4+7;j++){
if (S[j]!=problem[k++]){
pNum++;
}
}
if (problemMin>pNum){
problemMin=pNum;
}
if (goodproblemMin>goodMin+problemMin){
goodproblemMin=goodMin+problemMin;
}
}
cout<<goodproblemMin<<endl;
}
return 0;
}