疑 UB 样例错,球助
查看原帖
疑 UB 样例错,球助
566935
timmark楼主2023/11/22 18:56
#include<bits/stdc++.h>
using namespace std;
const int maxn=2e5+5;
int n,m;
string s,t;
bool dp[maxn][2];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin >> n >> m >> s >> t ;
	s=" "+s,t=" "+t;
	dp[1][0]=1;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			for(int k=1;i+k<=(n+1) && j+k<=(m+1);k++){
				if(s[i+k]!=t[j+k]) break;
				if(j==1) dp[i+k][(j+k)==(m+1)]|=(dp[i][0] | dp[i][1]);
				else dp[i+k][(j+k)==(m+1)]|=dp[i][1];
			}
		}
	}if(dp[n+1][1]) cout << "Yes" ;
	else cout << "No" ;
	return 0;
}
2023/11/22 18:56
加载中...