HDU5198 – Strange Class(水,题意没看懂!!!)

题目链接:HDU5198

【分析】今天就死在这题,不知道为什么一直理解成三个不同字符,每个的数量只能是2^n,导致WA倒是,更无奈的是这题卡了一小时导致C都来不及写,再写10分钟的C交上去就立马AC啦!!!,我要疯了。特地写这个纪念我脑子抽了!!!

【AC CODE】0ms

#include <cstdio>
#include <cstring>
#include <cctype>
#include <cmath>
#include <map>
//#include <unordered_map>
#include <queue>
#include <stack>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
typedef long long LL;
#define rep(i,a,n) for(int i = a; i < n; i++)
#define repe(i,a,n) for(int i = a; i <= n; i++)
#define per(i,n,a) for(int i = n; i >= a; i--)
#define clc(a,b) memset(a,b,sizeof(a))
const int INF = 0x3f3f3f3f;
char a[100];

bool same(int si, int len)
{
    rep(i,1,len)
    {
        if(a[si+i] != a[si+i-1]) return false;
    }
    return true;
}
bool ok()
{
    int len = strlen(a);
    if(len%3) return false;
	int v = len/3;
	if(!same(0,v) || !same(v,v) || !same(v*2,v)) return false;
	if(a[0] == a[v] || a[0] == a[v*2] || a[v] == a[v*2]) return false;
	return true;
}
int main()
{
#ifdef SHY
	freopen("d:\\1.txt", "r", stdin);
#endif
	while(~scanf("%s", a))
	{
		if(ok()) puts("YES");
		else puts("NO");
	}
	return 0;
}

 

发表评论

邮箱地址不会被公开。 必填项已用*标注

请输入正确的验证码