結果
問題 |
No.380 悪の台本
|
ユーザー |
![]() |
提出日時 | 2025-04-26 19:18:58 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 125 ms / 1,000 ms |
コード長 | 2,102 bytes |
コンパイル時間 | 2,295 ms |
コンパイル使用メモリ | 200,656 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-04-26 19:19:02 |
合計ジャッジ時間 | 3,463 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 8 |
ソースコード
#include <bits/stdc++.h> #include <cctype> #define int long long #define WORONG \ cout << "WRONG!" << endl; \ return; #define CORRECT \ cout << "CORRECT (maybe)" << endl; \ return; const int N = 1e5 + 5; const int Mod = 1e9 + 7; using namespace std; string S; void solve() { string name = ""; int i = 0; while (i < S.size() && S[i] != ' ') { name += S[i]; i++; } if (i + 1 >= S.size()) { WORONG } S = S.substr(i + 1); if (S.empty()) { WORONG } if (name == "rabi") { for (char i : S) { if (isalnum(i)) { CORRECT } } WORONG } i = S.size() - 1; while (i >= 0 && !isalnum(S[i])) { if (S.size() - i > 3) { WORONG } i--; } cerr << S << endl; S = S.substr(0, i + 1); cerr << S << endl; if (name == "digi" || name == "petit" || name == "piyo") { if (S.size() < 3) { WORONG } string tmp; for (int i = S.size() - 3; i < S.size(); i++) { tmp += tolower(S[i]); } if (name == "digi" && tmp == "nyo") { CORRECT } if (name == "petit" && tmp == "nyu") { CORRECT } if (name == "piyo" && tmp == "pyo") { CORRECT } } if (name == "gema") { if (S.size() < 4) { cout << "WRONG!" << endl; return; } string tmp; for (int i = S.size() - 4; i < S.size(); i++) { tmp += tolower(S[i]); } if (tmp == "gema") { CORRECT } } WORONG } signed main() { // freopen("dialogue.in", "r", stdin); // freopen("dialogue.out", "w", stdout); ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); while (getline(cin, S)) { solve(); } return 0; }