trang chủ / đề bài / pelesson

Giờ thể dục

Đề bài

Mô tả

Trong giờ thể dục, N học sinh xếp thành một hàng, học sinh thứ i (tính từ trái sang) cầm quả bóng số i. Các quả bóng được đánh số từ 1 đến N.

Bài khởi động gồm nhiều lượt ném. Ở mỗi lượt, giáo viên chọn hai học sinh khác nhau bất kỳ, hai người này ném bóng cho nhau: vị trí đứng không đổi, chỉ có hai quả bóng đổi chỗ.

Mỗi học sinh i có giới hạn ti là số lượt ném tối đa mà em đó được tham gia, với ti bằng 1 hoặc 2.

Sau khi bài khởi động kết thúc, "thứ tự bóng" là dãy N số trong đó số thứ i là số hiệu quả bóng mà học sinh thứ i đang cầm. Hãy đếm số thứ tự bóng khác nhau có thể thu được, lấy dư theo modulo 109+7.

Dữ liệu vào

  • Dòng đầu chứa số nguyên N: số học sinh.
  • Dòng thứ hai chứa N số nguyên t1,t2,…,tN (ti∈{1,2}): giới hạn số lượt ném của từng học sinh.

Dữ liệu ra

In ra một số nguyên duy nhất: số thứ tự bóng khác nhau có thể thu được, theo modulo 109+7.

Ràng buộc

  • 1≤N≤106
  • ti∈{1,2} với mọi i

Ví dụ

Input Output Giải thích
5
1 2 2 1 2
120 Mọi hoán vị của 5 quả bóng đều đạt được: 5!=120.
8
1 2 2 1 2 1 1 2
16800 Có 4 học sinh chỉ được ném 1 lượt, số thứ tự đạt được là 16800.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0