백준 10942 - 팰린드롬? (파이썬)

Updated:

Answer

import sys
input = sys.stdin.readline
n = int(input())
a = list(map(int, input().split()))
m = int(input())

dp = [[0] * n for _ in range(n)]

for i in range(n):
    for j in range(n - i):
        e = i + j

        if j == e:
            dp[j][e] = 1
        elif a[j] == a[e]:
            if j + 1 == e:
                dp[j][e] = 1
            elif dp[j + 1][e - 1] == 1:
                dp[j][e] = 1

for _ in range(m):
    s, e = map(int, input().split())
    print(dp[s - 1][e - 1])

Categories:

Updated: