码迷,mamicode.com
首页 > 其他好文 > 详细

Match the string--hdu1797(模拟)

时间:2016-04-16 21:33:45      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:

http://acm.hdu.edu.cn/showproblem.php?pid=1797

就是模拟

我的思路是标记aba 和h的位置

然后就判断是否正确  就行了

还有就是  最后 fkfkfkfk交叉也可以

#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
#include <cstdio>
#include <cstdlib>
#include <cctype>
#include <math.h>
#include <ctype.h>

using namespace std;
#define memset(a,b) memset(a,b,sizeof(a))
#define N 101000
typedef long long  ll;
char str[N];

int main()
{
    int T;

    scanf("%d",&T);
    while(T--)
    {
        int flag=0;
        scanf("%s",str);
        int len=strlen(str);
        int abc,h;
        abc=h=-1;
        if(strstr(str,"aba"))
            abc=strstr(str,"aba")-str;
        if(strstr(str,"h"))
            h=strstr(str,"h")-str;
        if(abc==-1 || h==-1 || h==len-1)
            flag=1;
        for(int i=0; i<abc; i++)
        {
            if(str[i]!=a)
            {
                flag=1;
                break;
            }
        }
        int v1=0,v2=0;
        for(int i=abc+3; i<h; i++)
        {
            if(str[i]!=b && str[i]!=d)
            {
                flag=1;
                break;
            }
            if(str[i]==d && str[i]==b)
            {
                flag=1;
                break;
            }
            if(str[i]==b)
                v1++;
            if(str[i]==d)
                v2++;
        }
        if(v1!=0 && v2==0)
            flag=1;
        if(v1>1)
            flag=1;
        v1=v2=0;
        for(int i=h+1; str[i]; i++)
        {
            if(str[i]!=f && str[i]!=k)
            {
                flag=1;
                break;
            }
            if(str[i]==f)
                v1++;
            if(str[i]==k)
                v2++;
        }
        if(v1==0 && v2==0)
            flag=1;
        if(v1==0 && v2==0 && v1!=v2)
            flag=1;
        if(flag==1)
            printf("NO\n");
        else
            printf("YES\n");
    }
    return 0;
}

 

Match the string--hdu1797(模拟)

标签:

原文地址:http://www.cnblogs.com/linliu/p/5399242.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!