結果

問題 No.380 悪の台本
ユーザー FF256grhy
提出日時 2017-01-26 00:27:28
言語 C++11
(gcc 13.3.0)
結果
AC  
実行時間 6 ms / 1,000 ms
コード長 1,577 bytes
コンパイル時間 157 ms
コンパイル使用メモリ 23,936 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-06 23:21:52
合計ジャッジ時間 740 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 8
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

//
#include <stdio.h>
char str[102500];
int i;
bool eq(int pos, int len, const char * const t) {
if( ! (pos + len <= i) ) { return false; }
for(int j = 0; j < len; j++) {
if(str[pos + j] != t[j]) { return false; }
}
return true;
}
bool eq_2(int pos, int len, const char * const t) {
if( ! (pos + len <= i) ) { return false; }
for(int j = 0; j < len; j++) {
char a = str[pos + j], b = t[j];
if( ! (a == b || a + ('a' - 'A') == b) ) { return false; }
}
return true;
}
bool is_sym(int j) {
char c = str[j];
if(
('a' <= c && c <= 'z') ||
('A' <= c && c <= 'Z') ||
('0' <= c && c <= '9')
) { return false; }
return true;
}
bool f(const char * const t, int j, const char * const u, int k) {
if( ! eq(0, j, t) ) { return false; }
for(int l = 0; l < 4; l++) {
if(i - (k + l) < j) { continue; }
bool flag = eq_2(i - (k + l), k, u);
for(int m = 0; m < l; m++) {
flag = flag && is_sym(i - l + m);
}
if(flag) { return true; }
}
return false;
}
bool d() { return f("digi ", 5, "nyo", 3); }
bool pe() { return f("petit ", 6, "nyu", 3); }
bool g() { return f("gema ", 5, "gema", 4); }
bool pi() { return f("piyo ", 5, "pyo", 3); }
bool r() {
if( ! eq(0, 5, "rabi ") ) { return false; }
for(int j = 5; j < i; j++) {
if( ! is_sym(j) ) { return true; }
}
return false;
}
int main() {
i = 0;
while(true) {
str[i] = getchar();
if(str[i] == EOF) { break; }
if(str[i] == '\n') {
printf("%s\n", d() || pe() || g() || pi() || r() ? "CORRECT (maybe)" : "WRONG!");
i = 0;
continue;
}
i++;
}
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0