diff --git "a/LiiNi-coder/202512/03 \353\254\270\354\236\220\354\227\264 \355\214\220\353\263\204.md" "b/LiiNi-coder/202512/03 \353\254\270\354\236\220\354\227\264 \355\214\220\353\263\204.md" new file mode 100644 index 00000000..3cf62bcc --- /dev/null +++ "b/LiiNi-coder/202512/03 \353\254\270\354\236\220\354\227\264 \355\214\220\353\263\204.md" @@ -0,0 +1,31 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + String S = br.readLine(); + int N = Integer.parseInt(br.readLine()); + Set dict = new HashSet<>(); + + for(int i = 0; i < N; i++){ + dict.add(br.readLine()); + } + + int size = S.length(); + boolean[] dp = new boolean[size + 1]; + dp[size] = true; + + for(int i = size - 1; i >= 0; i--){ + for(int j = i + 1; j <= size; j++){ + if(dp[j] && dict.contains(S.substring(i, j))){ + dp[i] = true; + break; + } + } + } + System.out.println(dp[0] ? 1 : 0); + } +} +```