洛谷_P1219 [USACO1.5] 八皇后 Checker Challenge_python写法

P1219 [USACO1.5] 八皇后 Checker Challenge - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

python 复制代码
n = int(input())

a = [0 for _ in range(1,2*n+100)]   #标记行
b = [0 for _ in range(1,2*n+100)]   #标记列
c = [0 for _ in range(1,2*n+100)]   #标记左下到右上的对角线
d = [0 for _ in range(1,2*n+100)]   #标记左上到右下的对角线
sum = 0
def printf():
    global sum

    if sum <=2:
        for i in range(1,n+1):
            print(a[i],end=' ')
        print('\n',end='')
    sum += 1
def dfs(i):

    for j in range(1,n+1):
        # if i+j<n+1 and abs(i-j)<n+1 :
        if b[j] == 0 and d[i-j+n] == 0 and c[i+j]==0:
            a[i] = j
            b[j] = 1
            c[i + j] = 1
            d[i-j+n] = 1
            dfs(i+1)
            b[j] = 0
            c[i + j] = 0
            d[i-j+n] = 0

            if i==n :
                printf()
                return

dfs(1)
print(sum)

不知道该怎么优化了,输入13,这个案例跑起来超时了。

相关推荐
weixin_413063217 分钟前
比较阅读理解opencv 和 LuminanceHDR中 色调映射Drago算法
opencv·算法·计算机视觉·hdr·色调映射
自我意识的多元宇宙8 分钟前
【数据结构】图----图的应用(拓扑排序)
数据结构·算法
itzixiao12 分钟前
L1-055 谁是赢家(10 分)[java][python]
java·python·算法
ghie909014 分钟前
运用强跟踪无迹卡尔曼滤波来实现捷联惯导的初始对准
算法
菜菜的顾清寒22 分钟前
力扣HOT100(21)相交链表
算法·leetcode·链表
七颗糖很甜29 分钟前
开源雷达NEXRAD Level 3 数据完整获取与 Python 处理教程
大数据·python·算法
JXNL@31 分钟前
TDK DPX105950DT 射频双工器全解析:从原理、参数到应用设计
算法
池塘的蜗牛32 分钟前
FMCW(2)-速度
算法
菜菜的顾清寒34 分钟前
力扣hot100(21)搜索二维矩阵 II
算法·leetcode·职场和发展
️是7844 分钟前
信息奥赛一本通—编程启蒙(3380:练65.3 螺旋矩阵)
线性代数·算法·矩阵