만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

지워진 ETT

시간 제한1초메모리 제한1024 MB

요약
0인 칸을 1부터 n까지의 정수로 채워서 루트가 1인 트리의 DFS 방문 배열이 되는 경우의 수를 셉니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 트리, DFS
정답자
아직 제출이 없습니다

문제

ETT-배열은 루트가 11인 트리를 왼쪽 자식부터 우선하여 깊이 우선 순회하면서, 정점에 진입하는 시점과 진출하는 시점에 정점 번호를 차례로 기록한 배열이다. 리프 노드도 진입 시점과 진출 시점에 모두 기록하므로, 노드가 nn개인 트리에 대응하는 모든 ETT-배열의 길이는 2n2n이다.

그림의 트리를 순회하여 기록한 ETT-배열은 [1, 2, 2, 3, 3, 4, 4, 1]이다

위 트리를 순회하여 기록한 ETT-배열은 [1,3,2,2,3,4,4,1][1,3,2,2,3,4,4,1]이다.

00 이상 nn 이하의 정수로 이루어진 길이가 2n2n인 배열이 주어질 때, 배열 속 모든 00을 11 이상 nn 이하의 정수로 바꾸어 만들 수 있는 모든 ETT-배열의 개수를 구하여라.

입력

첫 번째 줄에 nn이 주어진다. (1≤n≤2001\le n\le 200)

두 번째 줄에 배열을 나타내는 정수 a1,a2,⋯ ,a2na_1, a_2, \cdots, a_{2n}이 공백으로 구분되어 주어진다. (0≤ai≤n0\le a_i\le n; a1=a2n=1a_1=a_{2n}=1)

주어지는 배열로 적어도 하나의 ETT-배열을 만들 수 있다.

출력

답을 998 244 353998\,244\,353으로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

    입력
    4
    1 0 2 0 0 4 4 1
    
    예상 출력
    2
    
  2. 예제 2

    입력
    5
    1 0 5 0 0 3 0 2 2 1
    
    예상 출력
    4