아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

니은숲 예술가

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

요약
크기가 1부터 N까지인 L자 조각으로 N×N 정사각형을 채우는 방법의 수를 구합니다. 같은 마을을 나타내는 조각끼리는 변을 맞댈 수 없으며, 회전해서 같아지는 배치는 한 번만 셉니다.
난이도

어려움10점 중 9점

유형
조합론, 동적 계획법, 수학
정답자
아직 제출이 없습니다

문제

루루는 2003년 7월 23일 메이플 월드 빅토리아 아일랜드의 헤네시스와 커닝시티 사이에 있는 니은숲에서 태어났다. 당시 니은숲은 손이 닿지 않은 미개척지였고, 강력한 야생 원숭이 루팡이 살고 있었다. 자연경관을 감상하려는 일부 모험가 말고는 찾는 사람이 거의 없었다. 그래도 루루의 가족은 숲의 낭만적인 풍경에 둘러싸여 루루를 지극정성으로 키웠다.

루루가 초등학교에 입학할 무렵, 빅토리아 아일랜드 재개발 사업으로 니은숲은 흔적도 없이 폐허가 되었다. 루루의 가족은 끝까지 저항했지만, 메이플 월드의 대통령 검은 마법사가 군단장을 보내 무력으로 밀어붙였다. 가족은 어쩔 수 없이 커닝시티로 이주했다.

그 사건은 루루에게 트라우마로 남았다. 루루는 나중에 무분별한 개발로 메이플 월드가 훼손되더라도 과거의 아름다움을 전할 수 있도록, 메이플 월드의 다양한 풍경을 담은 예술 작품을 만들기로 결심했다. 루루는 오시리아 대륙, 에델슈타인, 그란디스, 시간의 신전, 아케인 리버 등을 여행하며 모험가들에게 지역별 풍경을 그려 주었고, 마침내 이름난 스타 예술가가 되었다.

루루는 곧 스무 살 생일을 맞아 생일에 맞춰 특별전을 열기로 했다. 루루가 특별전에서 가장 공들여 만들 조형물은 과거 니은숲의 ㄴ자 지형에서 모티브를 딴 '니은 유니버스'다. 루루는 11부터 NN까지 서로 다른 크기를 가진 ㄴ자 모양 조각 NN개를 준비하고, 각 조각에 메이플 월드의 마을 하나를 표현한 조형 예술을 담았다. 크기가 ii인 조각은 가로 ii, 세로 ii의 ㄴ자 모양으로 붙은 크기 1인 정사각형 2i−12i-1개로 이루어져 있으며, CiC_i번 마을을 표현한다.

루루는 NN개의 조각을 빈틈없이 붙여 가로 NN, 세로 NN인 정사각형 조형물을 만들려고 한다. 각 조각은 자유롭게 회전할 수 있다. 같은 마을을 표현한 조각끼리 선분을 공유하면 예술성을 해치므로 이런 조각들은 변을 맞댈 수 없다.

그림 A.1: 4개의 조각으로 조형물을 올바르게 만든 예시그림 A.2: 같은 마을을 표현하는 조각이 붙어 있어 올바르지 않은 예시

루루는 만들 수 있는 조형물의 후보를 모두 구한 뒤, 그중 가장 조화롭게 보이는 것을 골라 실제로 제작하려고 한다. 루루가 준비한 조각들의 정보가 주어질 때, 만들 수 있는 서로 다른 조형물의 가짓수를 구하라. 회전시켜서 같게 만들 수 있는 두 조형물은 같은 조형물이다.

입력

첫 번째 줄에 조각의 수 NN이 주어진다. (2≤N≤3 000)(2\leq N\leq 3\, 000)

두 번째 줄에 NN개의 정수가 공백으로 구분되어 주어진다. ii번째 수는 크기가 ii인 조각이 표현하는 마을 번호 CiC_i이다. (1≤Ci≤3 000)(1\leq C_i\leq 3\, 000)

출력

만들 수 있는 조형물의 가짓수를 998 244 353998\, 244\, 353 (=119×223+1)(=119\times 2^{23}+1)으로 나눈 나머지를 출력한다. 998 244 353998\, 244\, 353은 소수이다.

예제1

  1. 예제 1

    입력
    4
    1 2 3 1
    
    예상 출력
    9