Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- char ar1[1010],ar2[1010],str[2010];
- bool dp[1010][1010];
- int main(){
- scanf("%s",ar1);
- scanf("%s",ar2);
- int n, n1 = strlen(ar1), n2 = strlen(ar2);
- scanf("%d",&n);
- for(int i=0;i<n;i++){
- scanf("%s",str);
- dp[n1][n2] = true;
- for(int i=n1; i>=0; i--){
- for(int j=n2; j>=0; j--){
- if(i+j == n1+n2 and (i!=n1 and j!=n2)) dp[i][j] = false;
- else if(i!=n1 or j!=n2) dp[i][j] = (str[i+j] == ar1[i] and dp[i+1][j]) or
- (str[i+j] == ar2[j] and dp[i][j+1]);
- }
- }
- if(dp[0][0]) printf("Yes\n");
- else printf("No\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement