Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

C11SWAP - Đổi chổ

Cho dãy số A gồm N phần tử là hoán vị của N số nguyên từ 0 đến N - 1 và được đánh số lần lượt từ 1 đến N. Phép biến đổi Swap(x) sẽ đổi chỗ A[x] và A[x + 1] (1 ≤ x < N). Một hoán vị B gọi là đẹp nếu thỏa mãn 2 điều kiện sau:

  1. Là hoán vị của N – 1 số gồm các số từ 1 đến N – 1.
  2. Sau khi thực hiện lần lượt các phép biến đổi Swap(B[1]), Swap(B[2]), ..., Swap(B[N - 1]) trên dãy số A đã cho thì được dãy số mới là dãy tăng dần.

Yêu cầu: Hãy đếm số hoán vị đẹp.

Dữ liệu

  • Dòng 1: Số nguyên dương N.
  • Dòng 2: Gồm N số nguyên, là giá trị ban đầu của dãy số A.

Kết quả

  • Phần dư khi chia số hoán vị đẹp cho 10+ 7.

Ví dụ

Input:
4
2 0 3 1

Output:
2

Giải thích:

  • Dãy số A ban đầu là (2, 0, 3, 1).
  • Các hoán vị được sinh ra là (1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1).
  • Có 2 hoán vị đẹp là (1, 3, 2) và (3, 1, 2).

Giới hạn:

1 ≤ N ≤ 100, 20% số test N ≤ 10.


Được gửi lên bởi:Hacker7
Ngày:2012-08-18
Thời gian chạy:0.200s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: GOSU PERL6 PYPY RUST SED
Nguồn bài:SRM517

hide comments
2016-11-02 16:45:14
Code pascal:
http://shink.in/qs38h
2012-08-19 14:07:49 KAKALOT
?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.