結果

問題 No.380 悪の台本
ユーザー nksk38nksk38
提出日時 2017-08-02 15:27:57
言語 C++11
(gcc 11.4.0)
結果
TLE  
実行時間 -
コード長 1,781 bytes
コンパイル時間 727 ms
コンパイル使用メモリ 84,528 KB
実行使用メモリ 14,488 KB
最終ジャッジ日時 2024-11-06 23:24:23
合計ジャッジ時間 5,146 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 TLE -
testcase_01 -- -
testcase_02 -- -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:69:88: warning: left shift count >= width of type [-Wshift-count-overflow]
   69 |                                 if ((s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] << 'Z' ||

ソースコード

diff #

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<queue>
#include<vector>
#include<functional>
#include<cmath>
#include<map>
#include<stack>
#include<set>
#include<numeric>
#include<limits>

#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()

using namespace std;
typedef long long ll;
typedef pair<int, int> pi;
typedef pair<ll, ll> pl;
typedef pair<ll, string> pls;

bool check(int n,int m, string str, string word) {
	string s = " ";
	bool flag = false;
	for (int i = str.size() - 1; i >= str.size()-n; i--) {
		s = str[i] + s;
	}
	for (int i = 0; i < s.size(); i++)
		s[i] = tolower(s[i]);

	if (s.find(word) != -1) {
		flag = true;
		for (int i = s.find(word) + m; i < s.size(); i++) {
			if (((s[i] >= 'a' && s[i] <= 'z') ||( s[i] >= 'A' && s[i] <= 'Z') ||
				(s[i] >= '0' && s[i] <= '9'))) {
				flag = false;
				break;
			}
			flag = true;
		}
	}
	return flag;
}

int main()
{
	string s;
	while (getline(cin, s)) {
		string str = "";
		bool flag = false;
		for (int i = 0; i < s.size(); i++) {
			if (s[i] == ' ')break;
			str += s[i];
		}
		if (str == "digi") {
			if (check(6, 3, s, "nyo"))flag = true;
			else flag = false;
		}
		else if (str == "petit") {
			if (check(6,3, s, "nyu"))flag = true;
			else flag = false;
		}
		else if (str == "rabi") {
			flag = false;
			for (int i = 4; i < s.size(); i++) {
				if ((s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] << 'Z' ||
					s[i] >= '0' && s[i] <= '9')) {
					flag = true;
					break;
				}
			}
		}
		else if (str == "gema") {
			if(check(7,4,s,"gema"))flag = true;
			else flag = false;
		}
		else if (str == "piyo") {
			if (check(6, 3, s, "pyo"))flag = true;
			else flag = false;;
		}
		puts(flag ? "CORRECT (maybe)" : "WRONG!");
	}
	return 0;
}
0