【蓝桥杯Python】试题 算法训练 N车

资源限制

内存限制: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)

【蓝桥杯Python】试题 算法训练 N车_第1张图片

你可能感兴趣的:(算法,python,蓝桥杯,职场和发展)