YEZAELP

SMMR-119: Message

Jul 28th, 2021
905
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. char ar[2010], str[2010];
  5. bool dp[2010][2010];
  6.  
  7. void Setting(int n, int m){
  8.     for(int i=0;i<=n;i++){
  9.         for(int j=0;j<=m;j++){
  10.             dp[i][j] = false;
  11.         }
  12.     }
  13. }
  14.  
  15. bool DP(int n, int m){
  16.  
  17.     Setting(n, m);
  18.  
  19.     dp[0][0] = true;
  20.     for(int j=1;j<=m;j++)
  21.         if(str[j-1] == '$') dp[0][j] = dp[0][j-1];
  22.  
  23.     for(int i=1;i<=n;i++){
  24.         for(int j=1;j<=m;j++){
  25.             if(str[j-1] == '$') dp[i][j] = dp[i-1][j] or dp[i][j-1] or dp[i-1][j-1];
  26.             else if(str[j-1] == '-') dp[i][j] = dp[i-1][j-1];
  27.             else if(ar[i-1] == str[j-1]) dp[i][j] = dp[i-1][j-1];
  28.             else dp[i][j] = false;
  29.         }
  30.     }
  31.  
  32.     return dp[n][m];
  33. }
  34.  
  35. int main(){
  36.  
  37.     scanf("%s",ar);
  38.     int n;
  39.     scanf("%d",&n);
  40.  
  41.     for(int i=0;i<n;i++){
  42.         scanf("%s",str);
  43.         if(DP(strlen(ar), strlen(str))) printf("success\n");
  44.         else printf("fail\n");
  45.     }
  46.  
  47.     return 0;
  48. }
RAW Paste Data