前言:
本文为AtCoder Beginner Contest 374 题A - D的详细题解,包含C++,Python语言描述,D题恶心到我了,原来是误差范围内都对,我运行的跟答案后几位不太一样我就没敢提交
题目链接:
https://atcoder.jp/contests/abc374/tasks
题A:
A - Takahashi san 2 (atcoder.jp)
题目大意和解题思路:
题目大意就是输入一个字符串,判断字符串是否以"san"结尾
直接判断即可
首先是长度是否大于三,然后再判断最后三个字符是否分别为s, a, n
python也可以直接endwith,C++其实也可以使用rfind,但是不常用就不用了
代码(C++):
int main() {
std::ios::sync_with_stdio(0);
std::cin.tie(0);
std::string s;
std::cin >> s;
std::string res = "";
int n = s.size();
if (n < 3) {
res = "No\n";
} else {
if (s[n - 3] == 's' && s[n - 2] == 'a' && s[n - 1] == 'n') {
res = "Yes\n";
} else {
res = "No\n";
}
}
std::cout << res;
}
代码(Python):
s = input()
if s.endswith("san"):
print("Yes")
else:
print("No")
题B:
B - Unvarnished Report (atcoder.jp)