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

輸出

6

更新於: 2020年10月6日

365 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.