USACO 6.5.5 Checker Challenge 位运算+dfs
来源:互联网 发布:银行大数据客户画像 编辑:程序博客网 时间:2024/06/07 17:40
这题就是n皇后问题,用位运算的dfs秒掉就好了。
{IDL: ymwbegi1PROG: checkerLANG: PASCAL} var n,ans,s:longint; f:array[1..13] of longint;procedure print;var i,s,x:longint;begin for i:=1 to n do begin x:=f[i]; s:=0; while x>0 do begin inc(s); x:=x div 2; end; if i<n then write(s,' ') else writeln(s); end;end;procedure dfs(row,dl,dr,x:longint);var p,q:longint;begin if row=1 shl n-1 then begin if s<3 then begin inc(s); print; end; inc(ans); exit; end; p:=((row or dl or dr) xor (1 shl n-1)) and (1 shl n-1); while p>0 do begin q:=p and (-p); f[x]:=q; dfs(row+q,(dl+q) shl 1,(dr+q) shr 1,x+1); p:=p-q; end;end;begin assign(input,'checker.in'); assign(output,'checker.out'); reset(input); rewrite(output); readln(n); dfs(0,0,0,1); writeln(ans); close(input); close(output);end.
0 0
- USACO 6.5.5 Checker Challenge 位运算+dfs
- USACO Checker Challenge 位运算
- USACO 1.4 Checker Challenge 位运算
- USACO 1.5 Checker Challenge (DFS)
- USACO/Checker Challenge(位运算的搜索)
- USACO section 1.5 Checker Challenge(dfs深搜)
- USACO 1.5 Checker Challenge (DFS + 剪枝)
- USACO 1.5 Checker Challenge (位操作)
- USACO 1.5 Checker Challenge (checker)
- USACO-cha1-sec1.5 Checker Challenge
- 【搜索】【USACO】Checker Challenge
- [usaco]1.5 Checker Challenge
- usaco Checker Challenge
- USACO:Checker Challenge
- USACO-Checker Challenge
- USACO Checker Challenge
- USACO Checker Challenge
- USACO 1.5.4 Checker Challenge ———— DFS
- ACboy needs your help (HDU_1712) 分组背包
- slf4j源码解析
- Java中的守护线程和用户线程
- UVA10085宽搜之八宫格走最远
- 蓝桥杯往届试题——核桃的数量(求最小公倍数)
- USACO 6.5.5 Checker Challenge 位运算+dfs
- linux 0号进程和1号进程的区别
- 最大子数组问题
- MLE与MAP
- Linux硬件信息查看工具
- CSS 清除浮动的三种方式
- BZOJ 1176: [Balkan2007]Mokia&&2683: 简单题|cdq分治
- 多线程-图片顺序出现
- 安装vsftp流程整理