Codeforces Round 968 (Div. 2)
#include <iostream>
#include <string>using namespace std;// 函数 is 用于检查给定的字符串 s 是否满足条件
bool is(const string &s) {// 遍历字符串 s 中的每个子串for (int i = 1; i < s.length(); ++i) {// 从字符串 s 中获取两个子串 t1 和 t2string t1 = s.substr(0, i); // t1 是从开始到第 i 个字符的子串string t2 = s.substr(i); // t2 是从第 i 个字符到末尾的子串// 检查 t1 的第一个字符是否等于 t2 的最后一个字符// 如果相等,说明存在相邻元素之间的差值不满足递增的条件if (t1.front() == t2.back()) {return false; // 返回 false,表示字符串不满足条件}}// 如果所有子串都满足条件,返回 truereturn true;
}int main() {int t;cin >> t; // 读取测试用例的数量while (t--) {int n; // 字符串的长度cin >> n;string s; // 存储字符串 scin >> s; // 读取字符串 s// 调用函数 is 检查字符串 s 是否满足条件if (is(s)) {cout << "YES" << endl; // 如果满足条件,输出 "YES"} else {cout << "NO" << endl; // 如果不满足条件,输出 "NO"}}return 0;
}