HDU 5745 La Vie en rose (DP||模拟) 2016杭电多校联合第二场

题目:传送门

这是一道阅读理解题,正解是DP,实际上模拟就能做。pij+1 指的是 (pij)+1不是 pi(j+1),判断能否交换输出即可。

#include <iostream>
#include <algorithm>
#include <cstdio>
#include<cstring>
using namespace std;
int t,n;
char str1[100009],str2[5009];
char tmp[5009];
int main(){
   // freopen("cin.txt","r",stdin);
    scanf("%d",&t);
    while(t--)
    {
        int str1len,str2len;
        memset(str1,0,sizeof(str1));
        scanf("%d%d",&str1len,&str2len);
        scanf("%s%s",str1,str2);
        for(int i=0;i<str1len;i++)
        {   bool flag=1;
            strcpy(tmp,str2);
            for(int j=i;j<i+str2len&&flag;j++)
            {
                if(str1[j]!=tmp[j-i])
                {
                    if(str1[j+1]==tmp[j-i]&&str1[j]==str2[j-i+1])j++;
                    else flag=0;
                }
            }
            if(flag)printf("1");
            else printf("0");
        }
        puts("");
    }
    return 0;
}

 

posted @ 2016-08-08 19:57  Ritchie丶  阅读(250)  评论(0编辑  收藏  举报