百练 2754八皇后问题
2014-02-21 21:41
239 查看
#include #define maxn 9 int c[maxn]; int n, tot, x; void search(int cur){ int i, j; if (cur > n){ ++tot; if(tot == x){ for(j = 1; j <= n; ++j) printf("%d", c[j]); printf("\n"); } return;} for(i = 1; i <= n; ++i){ if(tot==x) return; int ok = 1; c[cur] = i; for(j = 1; j < cur; ++j){ if(c[cur] == c[j] || c[cur]+cur == c[j]+j || c[cur]-cur == c[j]-j){ok = 0; break;} } if(ok) search(cur+1); } } int main(){ int t; scanf("%d", &t); while(t--){ n = 8; scanf("%d", &x); tot = 0; search(1); } return 0; }
相关文章推荐
- Surrounded Regions
- FusionCharts ID重复
- Mirantis Fuel调研
- FusionCharts ID重复
- JSTL标签库引用无效
- Asp.net浅谈之一:Asp.net简介
- 杨氏矩阵的一些性质
- ORACLE数库之PL/SQL高级篇 与 阿里dba笔试题
- 大声说出我爱你——寒假英语学习总结
- js Date 函数方法
- 快速修改类似ro.product.device的系统属性值
- 网络编程的知识小结
- cocos2dx python项目创建
- LeetCode Maximal Rectangle
- C#之hashtable
- struts2由浅入深专题分享——result-types 第一回 result-type类型及常见的几个类型 by:丹恋耗
- 利用RGB-D数据进行人体检测 People detection in RGB-D data
- sql_约束2
- 求最大公约数
- 【GBT28181开发:SIP协议实践】之注册流程