結果
問題 |
No.380 悪の台本
|
ユーザー |
![]() |
提出日時 | 2025-04-18 17:27:24 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 4,439 bytes |
コンパイル時間 | 827 ms |
コンパイル使用メモリ | 74,608 KB |
実行使用メモリ | 7,844 KB |
最終ジャッジ日時 | 2025-04-18 17:27:25 |
合計ジャッジ時間 | 1,576 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 2 WA * 6 |
ソースコード
#include<algorithm> #include<iostream> #include<cstdio> #include<string> using namespace std; bool sign(char ch) { return (ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'); } int main() { string s; while(getline(cin,s)) { string nam;int len=s.length(); for(int i=0;i<len;++i) { if(s[i]==' ')break; nam+=s[i]; } bool f=1; string end; if(nam=="digi") { for(int i=len-1;i>=0;--i) { end+=s[i]; if(s[i]=='n'||s[i]=='N')break; } reverse(end.begin(),end.end()); int lend=end.length(); if((end[0]=='n'||end[0]=='N')&&(end[1]=='y'||end[1]=='Y')&&(end[2]=='o'||end[2]=='O')) { if(lend<=6) { bool curf=0; for(int i=3;i<lend;++i) { if(sign(end[i])==1) { curf=1; break; } } if(!curf)f=0; } if(len==3)f=0; } if(f==1)printf("WRONG!\n"); else printf("CORRECT (maybe)\n"); continue; } if(nam=="petit") { for(int i=len-1;i>=0;--i) { end+=s[i]; if(s[i]=='n'||s[i]=='N')break; } reverse(end.begin(),end.end()); int lend=end.length(); if((end[0]=='n'||end[0]=='N')&&(end[1]=='y'||end[1]=='Y')&&(end[2]=='u'||end[2]=='U')) { if(lend<=6) { bool curf=0; for(int i=3;i<lend;++i) { if(sign(end[i])==1) { curf=1; break; } } if(!curf)f=0; } if(lend==3)f=0; } if(f==1)printf("WRONG!\n"); else printf("CORRECT (maybe)\n"); continue; } if(nam=="rabi") { for(int i=5;i<len;++i) { if(sign(s[i])) { f=0; break; } } if(f==1)printf("WRONG!\n"); else printf("CORRECT (maybe)\n"); continue; } if(nam=="gema") { for(int i=len-1;i>=0;--i) { end+=s[i]; if(s[i]=='g'||s[i]=='G')break; } reverse(end.begin(),end.end()); int lend=end.length(); if((end[0]=='g'||end[0]=='G')&&(end[1]=='e'||end[1]=='E')&&(end[2]=='m'||end[2]=='M')&&(end[3]=='a'||end[3]=='A')) { if(lend<=7) { bool curf=0; for(int i=3;i<lend;++i) { if(sign(end[i])==1) { curf=1; break; } } if(!curf)f=0; } if(lend==4)f=0; } if(f==1)printf("WRONG!\n"); else printf("CORRECT (maybe)\n"); continue; } if(nam=="piyo") { for(int i=len-1;i>=0;--i) { end+=s[i]; if(s[i]=='p'||s[i]=='P')break; } reverse(end.begin(),end.end()); int lend=end.length(); if((end[0]=='p'||end[0]=='P')&&(end[1]=='y'||end[1]=='Y')&&(end[2]=='o'||end[2]=='O')) { if(lend<=6) { bool curf=0; for(int i=3;i<lend;++i) { if(sign(end[i])==1) { curf=1; break; } } if(!curf)f=0; } if(lend==3)f=0; } if(f==1)printf("WRONG!\n"); else printf("CORRECT (maybe)\n"); continue; } } return 0; }