Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.30 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3.  
  4. public class Solution {
  5.     public static final int MOD = (int)1e9 + 7;
  6.     public static long memo[][];
  7.     public static void main(String[] args) throws Exception {
  8.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  9.         String[] parts = br.readLine().trim().split(" ");
  10.         String str1 = parts[0];
  11.         String str2 = parts[1];
  12.         memo = new long[str1.length() + 1][str2.length() + 1];
  13.        
  14.         System.out.println(solve(str1,str2));
  15.     }
  16.     public static long solve(String str1, String str2){
  17.         // compute and return answer here
  18.         if(str1.length() > 0 && str2.length() == 0)
  19.             return 1;
  20.         if(str1.length() == 0 && str2.length() > 0)
  21.             return 1;
  22.         if(str1.length() == 0 && str2.length() == 0)
  23.             return 1;
  24.         if(memo[str1.length()][str2.length()] == 0)
  25.         {
  26.             long ans = 0;
  27.             ans = (solve(str1.substring(0, str1.length() - 1), str2) + solve(str1.substring(0, str1.length() - 1), str2.substring(0, str2.length() - 1)) + solve(str1, str2.substring(0, str2.length() - 1)))%MOD;
  28.             memo[str1.length()][str2.length()] = ans;
  29.         }
  30.         return memo[str1.length()][str2.length()];
  31.     }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement