-
코드
import sys n = int(input()) n_li = list(map(int, sys.stdin.readline().split(" "))) m = int(input()) m_li = [] for _ in range(m): m_li.append(list(map(int, sys.stdin.readline().split(" ")))) check_li = [[False]*n for _ in range(n)] for i in range(n): for j in range(n-i): x = j+i if j == x: check_li[j][x] = True elif x - j == 1: if n_li[j] == n_li[x]: check_li[j][x] = True else: check_li[j][x] = False else: if n_li[j] == n_li[x]: if check_li[j+1][x-1] == True: check_li[j][x] = True for i in range(m): x, y = m_li[i] if check_li[x-1][y-1] == True: print(1) else: print(0)
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2293번 동전 1 (파이썬) (0) 2022.01.04 [백준] 2629번 양팔저울 (파이썬) (0) 2022.01.04 [백준] 1520번 내리막 길 (파이썬) (0) 2022.01.04 [백준] 11049번 행렬 곱셈 순서 (파이썬) (0) 2022.01.04 [백준] 11066번 파일 합치기 (파이썬) (0) 2022.01.04