错排+高精度 用java写的话简单明略
f[n]=(f[n−1]+f[n−2])×(n−1),其中f[1]=0,f[2]=1
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
BigInteger a[]=new BigInteger[205];
while(cin.hasNext()) {
int n=cin.nextInt();
int x;
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++)
x=cin.nextInt();
}
a[1]=BigInteger.valueOf(0);
a[2]=BigInteger.valueOf(1);
for(int i=3;i<=n;i++) {
a[i]=(a[i-1].add(a[i-2])).multiply(BigInteger.valueOf(i-1));
}
System.out.println(a[n]);
}
}
}
京公网安备 11010502036488号