結果
| 問題 |
No.380 悪の台本
|
| コンテスト | |
| ユーザー |
alpha_virginis
|
| 提出日時 | 2016-06-17 22:49:00 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,072 bytes |
| コンパイル時間 | 1,380 ms |
| コンパイル使用メモリ | 160,220 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-06 22:37:21 |
| 合計ジャッジ時間 | 1,972 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 4 WA * 4 |
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:37:11: warning: ‘res’ may be used uninitialized in this function [-Wmaybe-uninitialized]
37 | printf("%s\n", res ? "CORRECT (maybe)" : "WRONG!");
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#include <bits/stdc++.h>
bool check(std::string& str, std::string t, int remain) {
if( str.size() < t.size() ) return false;
bool b = true;
for(int i = 0; i < (int)t.size(); ++i) {
if( toupper(str[str.size()-t.size()+i]) != toupper(t[i]) ) {
b = false;
break;
}
}
if( b ) return true;
if( remain <= 0 ) return false;
char c = str[str.size()-1];
if( isalnum(c) ) return false;
str.pop_back();
return check(str, t, remain - 1);
}
int main() {
for(;;) {
std::string name, str;
if( not ( std::cin >> name ) ) break;
std::getline(std::cin, str);
bool res;
if( name == "digi" ) res = check(str, "nyo", 3);
if( name == "petit" ) res = check(str, "nyu", 3);
if( name == "gema" ) res = check(str, "gema", 3);
if( name == "piyo" ) res = check(str, "pyo", 3);
if( name == "rabi" ) {
bool b = false;
for(int i = 0; i < (int)str.size(); ++i) {
if( isalnum(str[i]) ) b = true;
}
res = b;
}
printf("%s\n", res ? "CORRECT (maybe)" : "WRONG!");
}
return 0;
}
alpha_virginis