結果

問題 No.380 悪の台本
ユーザー char134217728char134217728
提出日時 2017-09-05 22:43:15
言語 C++11
(gcc 11.4.0)
結果
AC  
実行時間 131 ms / 1,000 ms
コード長 1,892 bytes
コンパイル時間 1,343 ms
コンパイル使用メモリ 160,104 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-04-24 14:56:54
合計ジャッジ時間 1,978 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
5,248 KB
testcase_01 AC 1 ms
5,376 KB
testcase_02 AC 1 ms
5,376 KB
testcase_03 AC 1 ms
5,376 KB
testcase_04 AC 7 ms
5,376 KB
testcase_05 AC 15 ms
5,376 KB
testcase_06 AC 15 ms
5,376 KB
testcase_07 AC 131 ms
5,376 KB
testcase_08 AC 5 ms
5,376 KB
testcase_09 AC 8 ms
5,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

/*
 * tkmst201 さんのコード
 * https://yukicoder.me/submissions/169037
 * ジャッジがおかしいのではないかと疑っているため
 * すでに通ったコードを提出してみる
*/
#include <bits/stdc++.h>

using namespace std;

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)
#define ALL(v) (v).begin(),(v).end()

template<typename A, typename B> inline bool chmax(A &a, B b) { if (a<b) { a=b; return 1; } return 0; }
template<typename A, typename B> inline bool chmin(A &a, B b) { if (a>b) { a=b; return 1; } return 0; }

typedef unsigned long long ull;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<int, pii> P;

const ll INF = 1ll<<60;
const ll MOD = 1000000007;
const double EPS  = 1e-10;

string str;

bool check(string s) {
	if (str.rfind(s) == string::npos) return false;
	else {
		int p = str.rfind(s);
		p += s.size();
		
		bool res = true;
		REP(i, 3) {
			if (p + i >= str.size()) break;
			if (isalnum(str[p + i])) res = false;
		}
		if (p + 3 < str.size()) res = false;
		
		return res;
	}
}

int main() {
	
	while (getline(cin, str)) {
		bool ok = true;
		
		if (str.find(' ') == string::npos) ok = false;
		else {
			int p = str.find(' ') + 1;
			string name = str.substr(0, p - 1);

			FOR(i, p, str.size()) str[i] = tolower(str[i]);
			
			if (name == "digi") {
				if (!check("nyo")) ok = false;
			}
			else if (name == "petit") {
				if (!check("nyu")) ok = false;
			}
			else if (name == "rabi") {
				bool f = false;
				FOR(i, p, str.size()) if (isalnum(str[i])) f = true;
				if (!f) ok = false;
			}
			else if (name == "gema") {
				if (str.find("gema") == str.rfind("gema") || !check("gema")) ok = false;
			}
			else if (name == "piyo") {
				if (!check("pyo")) ok = false;
			}
			else ok = false;
			
		}
		
		puts(ok ? "CORRECT (maybe)" : "WRONG!");
	}
	
	return 0;
}
0