天天看點

pta 習題集5-6 堆棧操作合法性

輸入格式:

輸出格式:

輸入樣例:

4 10
SSSXXSXXSX
SSSXXSXXS
SSSSSSSSSSXSSXXXXXXXXXXX
SSSXXSXXX
           

輸出樣例:

YES
NO
NO
NO           
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string>
#include <map>

using namespace std;
int n,m;
char a[105];
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)
	{
		scanf("%s",a);
		int ans=1;
		int len=strlen(a);
		int t=0;
		for(int i=0;i<len;i++)
		{
			if(a[i]=='S')
			{
				if(t==m)
				{
					ans=0;
					break;
				}
				else
					t++;
			}
			else
			{
				if(t==0)
				{
					ans=0;
					break;
				}
				else
					t--;
			}

		}
		if(t!=0)
			ans=0;
		if(ans)
			printf("YES\n");
		else
			printf("NO\n");
	}
	return 0;
}