Problem Statement
You are given two strings, A and B . Find if there is a substring that appears in both A and B .
Input Format
Several test cases will be given to you in a single file. The first line of the input will contain a single integer T , the number of test cases.
Then there will be T descriptions of the test cases. Each description contains two lines. The first line contains the string A and the second line contains the string B .
Output Format
For each test case, display
YES
(in a newline), if there is a common substring. Otherwise, display NO
.
Constraints
All the strings contain only lowercase Latin letters.
1<=T<=10
1<=|A|,|B|<=105
Sample Input
2 hello world hi world
Sample Output
YES NO
Explanation
For the 1st test case, the letter o is common between both strings, hence the answer
For the 2nd test case, hi and world do not have a common substring, hence the answer
YES
. (Furthermore, the letter l is also common, but you only need to find one common substring.)For the 2nd test case, hi and world do not have a common substring, hence the answer
NO
.
Copyright © 2015 HackerRank.
All Rights Reserved
All Rights Reserved
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int t, i;
scanf("%d",&t);
for( i = 0 ; i < t ; i++ )
{
char * in1, *in2;
int store[26]={0}, j = 0, flag = 0;
scanf("%ms",&in1);
scanf("%ms",&in2);
while(in1[j] != '\0')
{
store[in1[j] - 'a'] ++;
j++;
}
j = 0;
while(in2[j] != '\0')
{
if(store[in2[j] - 'a'] != 0)
{
flag = 1 ;
break;
}
j++;
}
if(flag == 0)
{
printf("NO\n");
}
else
{
printf("YES\n");
}
}
return 0;
}
No comments:
Post a Comment