洛谷_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,这个案例跑起来超时了。

相关推荐
槐月杰2 小时前
C语言中冒泡排序和快速排序的区别
c语言·算法·排序算法
笺上山河梦4 小时前
文件操作(二进制文件)
开发语言·c++·学习·算法
大慕慕好懒4 小时前
PHP弱类型hash比较缺陷
算法·哈希算法
snowfoootball5 小时前
最短路问题
数据结构·算法
有你的冬天1986 小时前
数据结构(一)
数据结构·算法
满怀10156 小时前
【Python进阶】列表:全面解析与实战指南
python·算法
爱学习的uu6 小时前
决策树:ID3,C4.5,CART树总结
算法·决策树·机器学习
wuqingshun3141597 小时前
蓝桥杯 9. 九宫幻方
数据结构·c++·算法·职场和发展·蓝桥杯·深度优先
小技与小术7 小时前
代码随想录算法训练营day4(链表)
数据结构·python·算法·链表
yasuniko7 小时前
C复习(主要复习)
c语言·数据结构·算法