Welcome   HUNAN NORMAL UNIVERSITY ACM/ICPC Judge Online
Home
FAQs
Problem Set
Practices
Online Contests
Major Exercises
OI Special
Judgement
Submit
Online Status
User Ranklist
Users
Register new
Login
Web Links
Hunan Normal University
College of Information Science and Engineering
信封问题
Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KB
Total submit users: 15, Accepted users: 8
Problem 11463 : No special judgement
Problem description
  全错位排列:即被著名数学家欧拉(Leonhard Euler,1707-1783)称为组合数论的一个妙题的“装错信封问题”。即一个人写了n封不同的信及相应的n个不同的信封,信的编号为1,2.......n,信封的编号也为1,2......n,现在要将每封信都装在一个与信编号不同的信封中,每个信封正好装一封信,问装法有多少种?
现在有一些新已经装入了信封,有一些没有装入,问接下来有多少种方法装信使得每个信封中正好有一封编号与信封编号不同的信。

Input
  包含多组输入数据,每组两行,第一行包含一个整数n(n<1000)。第二行为n个整数,若第i个数为0,表示第i个信封还没有装信,否则第i个数表示这个信封中装的信的编号。

Output
  输出一个数,表示接下来装信封的方法数除以1000000007的余数。

Sample Input
4
2 0 0 0
3
0 0 0
Sample Output
3
2
Problem Source
  HUNNU Contest 

Submit   Discuss   Judge Status  Problems  Ranklist 

HUNAN NORMAL UNIVERSITY ACM/ICPC Judge Online, Version 2010.5.5.final.
Web visits:706 today,12609604 total, since 2010-05-07