結果
問題 |
No.380 悪の台本
|
ユーザー |
![]() |
提出日時 | 2016-07-05 18:28:20 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,584 bytes |
コンパイル時間 | 538 ms |
コンパイル使用メモリ | 58,712 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-06 23:04:49 |
合計ジャッジ時間 | 1,302 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 7 WA * 1 |
コンパイルメッセージ
main.cpp: In function ‘bool solve(std::string, std::string)’: main.cpp:74:1: warning: control reaches end of non-void function [-Wreturn-type] 74 | } | ^
ソースコード
#include <iostream> #include <string> using namespace std; bool a[127]; bool solve(string script, string gobi); int main() { for (int i = 32; i < 127; i++){ if (i < 48) a[i] = true; else if (i >= 58 && i <= 64) a[i] = true; else if (i >= 91 && i <= 96) a[i] = true; else if (i >= 123) a[i] = true; } string name; string script; while (getline(cin, script)){ if (script.size() < 5){ cout << "WRONG!" << endl; continue; } name = script.substr(0,5); string gobi; if (name == "digi ") gobi = "nyo"; else if (name + script[5] == "petit ") gobi = "nyu"; else if (name == "rabi "){ if (script.size() == 5){ cout << "WRONG!" << endl; continue; } for (int i = 5; i < script.size(); i++){ if (!a[script[i]]) { cout << "CORRECT (maybe)" << endl; break; } if (i == script.size() - 1){ cout << "WRONG!" << endl; } } continue; } else if (name == "gema ") gobi = "gema"; else if (name == "piyo ") gobi = "pyo"; else{ cout << "WRONG!" << endl; continue; } bool b; b=solve(script, gobi); if (b) cout << "CORRECT (maybe)" << endl; else cout << "WRONG!" << endl; } return 0; } bool solve(string script, string gobi){ int cnt=0; for (int i = 1; i < 7; i++){ if (a[script[script.size() - i]]){ cnt++; if (cnt > 3) return false; } else{ for (int j = 0; j < gobi.size();j++){ if (script[script.size() - i - gobi.size() + 1 + j] != gobi[j] && script[script.size() - i - gobi.size() + 1 + j] != gobi[j] - 32){ return false; } } return true; } } }