1003 我要通过!*

'\0' : 字符串结束标识符,也是空字符,ascii码为00

APAT-YES

APAATA-NO,因为c为空字符,即字符串结束。

APAATAA-NO

#include <iostream>
using namespace std;

int main()
{
    int n,i;
    int sign = -1;
    cin>>n;
    char str[101];
    while(n)
    {
        cin>>str;
        i = 0;
        int c_p = 0, c_t = 0;
        while(str[i]!='\0')
        {
            if(str[i]!='P'&&str[i]!='A'&&str[i]!='T')
            {
                sign = 0;
                break;
            }
            if(str[i] == 'P')
                c_p++;
            else if(str[i] == 'T')
                c_t++;
            i++;
        }
        if(!(c_p==1&&c_t==1))
            sign = 0;
        
        int p = -1,t = -1;
        while(sign!=0)
        {
            for(int k=i-1;k>=0;k--)
            {
                if(str[k] == 'P')
                    p = k;
                else if(str[k] == 'T')
                    t = k;
            }
            int distance = t-p;
            if(p==0&&t==i-1&&distance>=2)
            {
                sign=1;
                break;
            }
            else if(distance==2)
            {
                sign=1;
                break;
            }
            else if(distance<=1)
            {
                sign=0;
                break;
            }
            else if(i-1-(distance-2)*p>t)
            {
                sign=1;
                break;
            }
            else
            {
                sign=0;
                break;
            }
        }
        if(sign == 0)
            cout<<"NO"<<endl;
        else if(sign == 1)
            cout<<"YES"<<endl;
        sign = -1;
        n--;
    }
    
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/QRain/p/12217333.html