题目链接:AT4230 [ABC104B] AcCepted
一道非常简单的模拟题,直接根据题意做就行了。
判断条件:
- $ s $ 的第一个字符是
A
; - 在 $ s $ 的第三个字符和倒数第二个字符之间有且只有一个字符
C
; - 除去上述提到的
A
和C
以外的所有字符都必须是小写。
Code:
#include <iostream>
#include <cstring>
#define first 0
#define RET return 0
#define WA std::cout << "WA"
#define AC std::cout << "AC"
int main()
{
std::string s, ss; // ss: String For Search 用于查找的字符串
std::cin >> s;
ss = s.substr(2, s.length() - 3);
if (s[first] != 'A') { WA; RET; } // 不符合第 1 条判断条件
if (ss.find('C') == ss.npos) { WA; RET; }
if (ss.find('C') != ss.rfind('C'))
{
WA; RET;
} // 不符合第 2 条判断条件
for (int i = 0; i < s.length(); i++)
{
if (s[i] != 'A' && s[i] != 'C')
{
if (s[i] > 'A' && s[i] <= 'Z')
{
WA; RET; // 不符合第 3 条判断条件
}
}
}
AC; return 0; // 完结撒花!
}