加载中...

POJ 1936 - All in All


问题描述

无。

解题思路

水题一道,直接去模拟吧。

在s2中找s1的子串而已,本来还想用LCS的,后来想想,这样空间消耗太大,用滚动数组又麻烦。。。毕竟列数最多高达10W = = 所以还是算了,直接模拟更快= =

注意下标范围 int是够不到10W的,要用 long 。

AC 源码

//Memory Time 
//364K  0MS 

#include<iostream>
#include<string>
using namespace std;

int main(long i, long j)
{
    char s1[100000],s2[100000];
    while(cin>>s1>>s2)
    {
        long len1=strlen(s1);
        long len2=strlen(s2);
        i=0;
        j=0;
        while(true)
        {
            if(i==len1)
            {
                cout<<"Yes"<<endl;
                break;
            }
            else if(i<len1 && j==len2)
            {
                cout<<"No"<<endl;
                break;
            }
            if(s1[i]==s2[j])
            {
                i++;
                j++;
            }
            else
                j++;
        }
        memset(s1,'\0',sizeof(s1));
        memset(s2,'\0',sizeof(s2));
    }
    return 0;
}

相关资料


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
  目录