[N皇后问题]两行代码解决N皇后问题

文章目录


背景

这个程序是由Doron Osovlanski 和Baruch Nissenbaum共同编写的,其功能是解决N皇后问题(数量在4-99之间),该程序获得了1991年“最佳小程序”奖项


代码

#include <stdio.h> 
int v, i, j, k, l, s, a[99];int main(){for (scanf_s("%d", &s); *a - s; v = a[j *= v] - a[i], k = i < s, j += (v = j < s &&(!k && !!printf(2 + "\n\n%c" - (!l << !j), " #Q"[l ^ v ? (l ^ j) & 1 : 2]) &&++l || a[i] < s && v && v - i + j && v + i - j)) && !(l %= s), v || (i == j ? a[i += k] = 0 :++a[i]) >= s * k && ++a[--i]);return 0;}



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值