资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
问题描述
给定N×N的棋盘,问有多少种放置N个车使他们不互相攻击的方案。
输入格式
一行一个整数,N。
输出格式
一行一个整数,表示方案数。
样例输入
3
样例输出
6
数据规模和约定
N<=20
这道题不需要想到使用深度优先或者动态规划,其实答案就是N的阶乘,因为车只要不放在同一行或同一列就可以,所以第一行的车有N种方法,第二行的车有N-1(去掉第一行放的那一列)种方法,第三行的车有N-2种方法……第N行的车有1种方法。参考代码如下:
n = int(input())
ans=1
for i in range(1,n+1):
ans*=i
print(ans)