Python程序:查找n个车马在棋盘上互不攻击的排列方式


假设我们有一个数字n,表示一个n x n大小的棋盘。我们需要找到放置n个车马的方案数,使得它们彼此之间不能互相攻击。如果在一种方案中,棋盘上的某个格子被占用,而在另一种方案中,该格子未被占用,则这两种方案被认为是不同的。(我们知道,如果车马在同一行或同一列,则它们可以互相攻击)。

因此,如果输入为3,则输出为6

为了解决这个问题,我们将遵循以下步骤:

f = n的阶乘

返回f

让我们看下面的实现来更好地理解:

示例

 在线演示

import math
class Solution:
   def solve(self, n):
      return math.factorial(n)
ob = Solution()
print(ob.solve(3))

输入

3

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

输出

6

更新于: 2020年10月6日

365 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告