There are 常数s 和 常数s! Usaco 1.5.4 Checker Challenge
2010-08-19 20:18
423 查看
/* ID: zhangzz4 PROG: checker LANG: C++ */ #include<stdio.h> #include<time.h> const int N=13; int v ,cnt,n; int _abs(int a){return a>0?a:-a;} int vv ,vv2[2*N],vv3[2*N]; void put(int x) { if(!x) return; put(x/10); putchar(x%10+'0'); } int ok(int x,int r) { for(int i=0;i<r;i++) if(v[i]==x||_abs(v[i]-x)==r-i) return 0; return 1; } void dfs(int r) { if(n==r) { cnt++; if(cnt<=3) for(int i=0;i<n;i++) { put(v[i]+1); putchar(i==n-1?'/n':' '); } return ; } for(int i=0;i<n;i++) //if(ok(i,r)) 3600ms if(vv[i]+vv2[n+i-r]+vv3[r+i]==0) //550ms { vv[i]=vv2[n+i-r]=vv3[r+i]=1; v[r]=i; dfs(r+1); vv[i]=vv2[n+i-r]=vv3[r+i]=0; } } int main() { freopen("checker.in","r",stdin); freopen("checker.out","w",stdout); //int cc=clock(); scanf("%d",&n); dfs(0); printf("%d/n",cnt); // printf("%d ms/n",clock()-cc); }
相关文章推荐
- USACO1.5.4 checker challenge
- USACO 1.5.4 Checker Challenge ———— DFS
- USACO 1.5.4 Checker Challenge
- [USACO 1.5.4] Checker Challenge
- USACO 1.5.4 Checker Challenge 题解
- USACO1.5.4 checker challenge
- usaco 1.5.4 Checker Challenge
- USACO section 1.5.4 Checker Challenge
- USACO Checker Challenge 位运算
- USACO 1.5 Checker Challenge
- USACO section 1.5.4 Checker Challenge
- usaco 1.5.4 checker
- USACO / Checker Challenge(位运算的搜索)
- [USACO 1.5.4]checker(水题重做——位运算(lowbit的应用))
- USACO 1.5 Checker Challenge (checker)
- USACOTrainning.Checker Challenge
- USACO 1.5.4 checker
- usaco 1.5.4——checker
- USACO6.5.5 Checker Challenge( checker)
- USACO 1.5 Checker Challenge(DFS)