两个字符串

两个字符串

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 26   Accepted Submission(s) : 11
Font: Times New Roman | Verdana | Georgia
Font Size:  

Problem Description

给出两个字符串A和B,判断是否有存在一个子串既出现在A中又出现在B中。

Input

第一行为一个整数T,表示测试数据组数
接着T组测试数据,每组测试数据包含两行,每行一个字符串(仅由字母组成)。
字符串长度不超过10^5

Output

对于每组测试数据,如果存在符合条件的子串,输出YES, 否则输出No

Sample Input

2
hello
world
hi
world

Sample Output

YES
No
	

Author

Wei Tong
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char a[100000],b[100000];
int main()
{
	char s[26],c[26];
	int test,i,j,k,t,lena,lenb,ans;
	scanf("%d",&test);
	while(test--)
	{
		ans=0;
		scanf("%s%s",a,b);
		lena=strlen(a);
		lenb=strlen(b);
		sort(a,a+lena);
		sort(b,b+lenb);
		s[0]=a[0];
		c[0]=b[0];
		for(i=1,j=1;i<lena;i++)
		{
			if(a[i]!=a[i-1])
			{
				s[j]=a[i];
				j++;
			}
		}
		for(i=0,k=1;i<lenb;i++)
		{
			if(b[i]!=b[i-1])
			{
				c[k]=b[i];
				k++;
			}
		}
		for(i=0;i<j;i++)
		{
			for(t=0;t<k;t++)
			{
				if(s[i]==c[t])
				{
				    ans=1;
				    break;
				}
			}
		}
		if(ans==1)
		    printf("YES\n");
		else
		    printf("No\n");
	}
	return 0;
}
//简洁的代码: 
/*#include<cstdio>
#include<cstring>
int main()
{
    int a[200],i,T,ok=0;
    char s1[100002],s2[100002];
    scanf("%d",&T);
    while(T--)
    {
        memset(a,0,sizeof(a)); 
        scanf("%s",s1);
        scanf("%s",s2);
        for(i=0; i<strlen(s1); i++)
        {
            a[s1[i]-'A']++;
        }
        for(i=0,ok=0; i<strlen(s2); i++)
        {
            if(a[s2[i]-'A']>0)
            {
                ok=1;
                break;
            }
        }
        if(ok)
        {
            printf("YES\n");
        }
        else printf("No\n");
    }
    return 0;
}        
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值