P10296 [CCC 2024 S2] Heavy-Light Composition 题解

思路

先扫一遍,计算每个字母出现的数量,然后判断是否是交替出现。

代码

#include<bits/stdc++.h>
using namespace std;
int main() {
	int T, n;
	cin >> T >> n;
	while (T--) {
		int t[105] = {0};
		string s;
		cin >> s;
		for (int i = 0; i < n; i++) t[s[i] - 'a']++;//找出重和轻的字母
		bool flag = true;//判断是否交替的变量
		for (int i = 0; i < n - 1; i++) {//核心判断部分
			if (t[s[i] - 'a'] == 1) {
				if (t[s[i + 1] - 'a'] == 1) {
					flag = false;
					break;
				}
			} else {
				if (t[s[i + 1] - 'a'] >= 2) {
					flag = false;
					break;
				}
			}
		}
		if (flag) {
			cout << "T" << endl;
		} else {
			cout << "F" << endl;
		}
	}
	return 0;
}

AC记录,求通过。

posted @ 2024-04-03 17:09  BadBadBad__AK  阅读(37)  评论(0)    收藏  举报