洛谷 P1219 八皇后
来源:互联网 发布:百度云登不上网络异常1 编辑:程序博客网 时间:2024/05/21 19:45
题目
检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。
上面的布局可以用序列2 4 6 1 3 5来描述,第i个数字表示在第i行的相应位置有一个棋子,如下:
行号 1 2 3 4 5 6
列号 2 4 6 1 3 5
这只是跳棋放置的一个解。请编一个程序找出所有跳棋放置的解。并把它们以上面的序列方法输出。解按字典顺序排列。请输出前3个解。最后一行是解的总个数。
题解
直接搜索,好久没打搜索,感觉自己废了
时间复杂度
代码
var n,ans,k:longint; x,y,a,b,t:array[-30..30]of longint;procedure dfs(i:longint);var k:longint;begin if i>n then begin inc(ans); if ans<=3 then for k:=1 to n do write(t[k],' '); if ans<=3 then writeln; exit; end; for k:=1 to n do if (x[i]=0)and(y[k]=0)and(a[k-i]=0)and(b[i+k]=0) then begin x[i]:=1;y[k]:=1;a[k-i]:=1;b[i+k]:=1;t[i]:=k; dfs(i+1); x[i]:=0;y[k]:=0;a[k-i]:=0;b[i+k]:=0;t[i]:=0; end;end;begin readln(n); dfs(1); writeln(ans);end.
1 0
- 洛谷p1219 八皇后
- 洛谷 P1219 八皇后
- 洛谷 P1219 八皇后
- 洛谷 P1219 八皇后
- 洛谷 P1219 八皇后
- 洛谷 P1219 八皇后
- 洛谷 p1219 八皇后
- 洛谷 P1219 八皇后
- 洛谷 P1219 八皇后
- 洛谷P1219 八皇后(dfs)
- 洛谷p1219 八皇后问题
- 【搜索】洛谷 P1219 八皇后
- 洛谷 P1219 八皇后 (dfs)
- P1219 八皇后
- P1219 八(N)皇后
- P1219 八皇后
- 【p1219-八皇后】解题记录
- 洛谷OJ-P1219 八皇后-深度优先搜索
- Unity编程笔录--Tango 介绍和简单案例
- 剑指Offer面试题4替换空格
- PAT乙级1039 到底买不买
- tomcat-tunning
- 自定义时间选择器的分钟为自定义的选择范围
- 洛谷 P1219 八皇后
- python selenium to click an element not visible
- 用android studio 写服务实现进程间通信即IPC
- Android 知识点汇总
- Linux 如何清理僵尸进程
- [UE4蓝图教程]蓝图入门之变量使用
- 将钱数换成中文形式
- 基于R语言的分类算法之CART决策树
- maven找不到类问题