#1521
Unrated

좌석

서브테스크
원문: 日本語
시간 제한
5s
메모리 제한
256MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

2XXX 년, 세계의 나라들은 일직선으로 늘어서 있었다. NN 개의 나라가 있고, 1,2,...,N1,\,2,\,...,\,N 의 번호가 붙어 있다. i=1,2,...,N1i\,=\,1,\,2,\,...,\,N\,-\,1 에 대하여, 나라 ii 와 나라 i+1i\,+\,1 은 서로 이웃 나라이다.

이 해의 국제정보올림피아드에는 나라 ii 에서 AiA_i 명의 선수가 참가한다. 국제정보올림피아드의 기술위원인 당신은 대회에서 사용할 좌석표를 작성하는 담당이다. 대회장이 가늘고 길기 때문에, 한 줄로 늘어선 A1+A2+...+ANA_1\,+\,A_2\,+\,...\,+\,A_N 개의 좌석에 선수들을 배정하게 되었다. 부정행위를 방지하기 위해, 같은 나라의 선수나 이웃 나라의 선수를 서로 인접한 자리에 배정해서는 안 된다.

선수들을 좌석에 배정하는 방법은 몇 가지나 있을까. 이 수는 매우 커질 수 있으므로, 그것을 1000710007 로 나눈 나머지를 구하는 프로그램을 작성하시오.

제한

  • 1N1001\,\,\le\,\,N\,\,\le\,\,100
  • 1Ai41\,\,\le\,\,A_i\,\,\le\,\,4 (1iN1\,\,\le\,\,i\,\,\le\,\,N)

서브태스크

  1. (66 점) N5N\,\,\le\,\,5, Ai2A_i\,\,\le\,\,2 (1iN1\,\,\le\,\,i\,\,\le\,\,N)
  2. (1414 점) N10N\,\,\le\,\,10, Ai3A_i\,\,\le\,\,3 (1iN1\,\,\le\,\,i\,\,\le\,\,N)
  3. (8080 점) 추가 제약이 없다.

입력과 출력

입력
입력은 다음 형식으로 표준 입력에서 주어진다.
NN
A1A_1 A2A_2 ...... ANA_N

출력
선수들을 좌석에 배정하는 방법의 수를 1000710007 로 나눈 나머지를 11 행으로 출력한다.

예제 입력 1

4
2 1 1 1

예제 출력 1

4

나라 11 에서 참가하는 22 명의 선수를 1111', 나라 22 에서 참가하는 11 명의 선수를 22, 나라 33 에서 참가하는 11 명의 선수를 33, 나라 44 에서 참가하는 11 명의 선수를 44 로 나타내기로 하면, 선수들을 좌석에 배정하는 방법으로는 다음 44 가지 배열을 생각할 수 있다:

  • 11, 33, 11', 44, 22
  • 11', 33, 11, 44, 22
  • 22, 44, 11, 33, 11'
  • 22, 44, 11', 33, 11

예제 입력 2

5
1 2 3 2 1

예제 출력 2

0

이 입력 예에서는 조건을 만족하는 좌석표가 존재하지 않는다.

예제 입력 3

6
1 2 3 3 2 1

예제 출력 3

4754

이 입력 예에서는 선수들을 좌석에 배정하는 방법이 2476824768 가지 있으므로, 그것을 1000710007 로 나눈 나머지인 47544754 를 출력한다.

코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출

제출 내역이 없습니다.

맞은 사람

아직 맞은 사람이 없습니다.

난이도 투표
Unrated0명 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출

제출 내역이 없습니다.