前言:
本文为Codeforces Round 968 (Div. 2)的ABC详细题解,包含C++,Python语言描述,觉得有帮助或者写的不错可以点个赞
感觉D题说的好抽象,看不懂,之后实力够了更新
目录
题A:
题目大意和解题思路:
题目意思就是说,现在一个字符串,满足下面条件,就是好字符串
- k ≥ 2。
- s = t1 + t2 + ... + tk,其中 + 表示连接操作。例如,abc = a + bc。
- 对于所有的 1 ≤ i < j ≤ k,ti 的第一个字符不等于 tj 的最后一个字符
然后让你确定一个字符串是否是好字符串
脑经急转弯吧, (我感觉弱智题,容易想歪,不敢提交)
题目意思就是说,把一个字符串分成至少两份,然后分成的每一份的第一个字符串,不能等于下一份的最后一个字符串
那我直接从下标0 到 1的位置开始分就i可以了,分成两个,然后题目就变成了,第一个不等于最后一个就是好字符串...
代码实现(C++):
int main() {
std::ios::sync_with_stdio(0);
std::cin.tie(0);
int tt;
std::cin >> tt;
while (tt--) {
int n;
std::cin >> n;
std::string s;
std::cin >> s;
if (s[0] != s[n - 1]) {
std::cout << "YES" << "\n";
} else {
std::cout << "NO" << "\n";
}
}
}