本文主要是介绍HDU 5745(暴力),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接
杭电数据加强了,这个方法已经不行了,还是看官方正解dp吧= =
暴力出奇迹。。。
暴力匹配就好了,因为每个字符可以也只能交换一次位置,所以当前位置不配的话,就检查一下交叉的位置
#include<bits/stdc++.h>
using namespace std;
#define cl(a,b) memset(a,b,sizeof(a))
#define LL long long
#define pb push_back
#define gcd __gcdconst int maxn = 1e5+200;
const int inf = 1 << 23;
const LL P = 1e9+7;int n,m;
char a[maxn],b[maxn];int main(){int T;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);scanf("%s%s",a,b);for(int i=0;i<n;i++){bool flag = false;bool isin = false;for(int j=0;j<m&&i+m<=n;j++){isin = true;int k = i+j;if(a[k]==b[j]){;}else if(j+1<m&&a[k]==b[j+1]&&k+1<n&&a[k+1]==b[j]){j++;}else {flag=true;}if(flag)break;}printf("%c",isin==true&&flag==false?'1':'0');}puts("");}return 0;
}
这篇关于HDU 5745(暴力)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!