Friday, August 17, 2018

BUS TICKETS

        Problem Description

Every day, Mike goes to his job by a bus, where he buys a ticket. On the ticket, there is a letter-code that can be represented as a string of upper-case Latin letters.

Mike believes that the day will be successful in case exactly two different letters in the code alternate. Otherwise, he believes that the day will be unlucky. Please see note section for formal definition of alternating code.

You are given a ticket code. Please determine, whether the day will be successful for Mike or not. Print ""YES"" or ""NO"" (without quotes) corresponding to the situation.

CODING ARENA::

#include <stdio.h>
int main()
{
  int i,k,test,t;
  char a[100],second,first;
  scanf("%d",&t);
  while(t--)
  {
    scanf("%s",a);
    k=1;
    test=1;
    first=a[0];
    second=a[1];
    if(first!=second)
    {
      for(i=2;a[i]!='\0';i++)
      {
        if(k)
        {
          if(a[i]!=first)
          {
            test=0;
            break;
          }
          k=0;
        }
          else
          {
            if(a[i]!=second)
            {
              test=0;
              break;
            }
            k=1;
          }
        }
        if(test==0)
          printf("NO\n");
        else
          printf("YES\n");
      }
      else
        printf("NO\n");
    }
    return 0;
}
   Test Case 1

Input (stdin)
2



ABAB



AB



Expected Output
YES



YES
Test Case 2

Input (stdin)
1



ACAC



Expected Output
YES


No comments:

Post a Comment