usaco 1.5 checker...N queens...
2012-10-27 00:51
288 查看
/* ID:chenjiong PROG:checker LANG:C++ */ #include <stdio.h> #include <string.h> const int MAXN = 15; int N; bool column[MAXN]; bool diagonal1[2 * MAXN - 1]; bool diagonal2[2 * MAXN - 1]; int ans[MAXN]; int p; int cnt; int print_times; void dfs(int cur) { if ( cur == N + 1 ) { if ( print_times < 3 ) { for (int i = 0; i < N - 1; i++) printf("%d ",ans[i]); printf("%d\n",ans[N - 1]); print_times++; cnt++; return; } else { cnt++; return; } } int j; for ( j = 1; j <= N; j++) { if ( !column[j] && !diagonal1[cur + j] && !diagonal2[cur - j + N] ) { column[j] = diagonal1[cur + j] = diagonal2[cur - j + N] = true; ans[p] = j; p++; dfs(cur + 1); p--; column[j] = diagonal1[cur + j] = diagonal2[cur - j + N] = false; } } } int main() { freopen("checker.in","r",stdin); freopen("checker.out","w",stdout); scanf("%d",&N); cnt = 0; print_times = 0; dfs(1); printf("%d\n",cnt); return 0; }
相关文章推荐
- [usaco]1.5 Checker Challenge
- USACO 1.5 Checker Challenge (位操作)
- USACO Section 1.5 Checker Challenge - 普普通通的皇后问题~~
- USACO1.5 Checker Challenge(类n皇后问题)
- USACO 1.5 Checker Challenge
- USACO-cha1-sec1.5 Checker Challenge
- USACO 1.5 Checker Challenge (checker)
- USACO 1.5 Checker Challenge(DFS)
- USACO sec1.5 Checker Challenge
- usaco Section 1.5 Checker Challenge 最慢0.162秒0.0+n皇后问题位运算版(C语言)
- USACO 1.5 Checker Challenge
- USACO section 1.5 Checker Challenge(dfs深搜)
- USACO section 1.5 Checker Challenge(dfs深搜)
- USACO 1.5 Checker Challenge (DFS)
- USACO 1.5 Checker Challenge (DFS + 剪枝)
- usaco 1.5 checker 2008.5.9
- 洛谷 P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib
- 【USACO 1.5】SuperPrime Rib
- usaco 1.5 numtri...超时的搜索...
- USACO--1.5Prime Palindromes