求条,玄关
查看原帖
求条,玄关
1344756
roubing楼主2025/2/2 22:09
#include <iostream>
#include <cstdio>
#include <cstring>

#define F printf("F\n")
#define T printf("T\n")


using namespace std;

int t,n;
string a;
int tong[30],h;

int main(){
	scanf("%d%d",&t,&n);
	if (n<=2){
		while (t--)	F;
		return 0;
	}
	while (t--){
		memset(tong,-1,30);
		h=-1;
		cin>>a;
		for (int i=0;i<n;i++){
			tong[a[i]-'a']++;
			if (tong[a[i]-'a'] && i%2!=h){
				if (h!=-1){
					h=-1;
					break;
				}
				else h=i%2;
			}	
		}
		h==-1?F:T;
	}
	return 0;
}

我的思路就是遍历一遍,如果有重复出现则记录位置是奇数还是偶数再与上次出现位置比较,如果不同就break
但是怎么WA了一大片啊 样例明明都骗过了

2025/2/2 22:09
加载中...