洛谷 - P1219 - 八皇后 - dfs
2024-09-08 17:47:15
https://www.luogu.org/problemnew/show/P1219
一开始朴素检查对角线就TLE了,给对角线编码之后压缩了13倍时间?
找了很久的bug居然是&&写成了&&&,我喷了。
#include<bits/stdc++.h>
using namespace std;
#define ll long long bool cused[];
bool zxused[];
bool yxused[]; //bool g[14][14]; int ans[];
int atop=; int n;
int cnt=; inline int get_zx_id(int r,int c){
//int ans=r-c+n;
//printf("r=%d c=%d zid=%d\n",r,c,ans);
return r-c+n;
} inline int get_yx_id(int r,int c){
int rc=n+-c;
//int ans=r-rc+n;
//printf("r=%d c=%d yid=%d\n",r,c,ans);
return r-rc+n;
} void dfs(int r){
if(r>n){
cnt++;
if(cnt<=){
for(int i=;i<atop;i++){
printf("%d%c",ans[i]," \n"[i==atop-]);
}
}
} for(int j=;j<=n;j++){
if(cused[j]==&&zxused[get_zx_id(r,j)]==&&yxused[get_yx_id(r,j)]==){
cused[j]=;
zxused[get_zx_id(r,j)]=;
yxused[get_yx_id(r,j)]=;
//g[r][j]=1;
//ans[atop++]=r;
ans[atop++]=j;
dfs(r+);
atop-=;
//g[r][j]=0;
zxused[get_zx_id(r,j)]=;
yxused[get_yx_id(r,j)]=;
cused[j]=;
}
}
} int main(){
scanf("%d",&n); /*for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
printf("%2d ",get_zx_id(i,j));
}
printf("\n");
} printf("\n"); for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
printf("%2d ",get_yx_id(i,j));
}
printf("\n");
} printf("\n");*/ int r=;
for(int j=;j<=n;j++){
cused[j]=;
zxused[get_zx_id(r,j)]=;
yxused[get_yx_id(r,j)]=;
ans[atop++]=j;
dfs(r+);
atop-=;
yxused[get_yx_id(r,j)]=;
zxused[get_zx_id(r,j)]=;
cused[j]=;
}
printf("%d\n",cnt);
}
最新文章
- web前端基础知识-(六)jQuery-补
- java构造方法的作用以及简单java类
- PostgreSQL index types and index bloating
- redhat enterprixe 5.0 NFS服务配置与管理
- oracle 11g 通过透明网关链接mysql
- ZOJ 3211 Dream City(DP)
- java学习之Java中JDK,JRE和JVM之间的关系(转载)
- JAVA堆与栈
- 购物篮模型&;Apriori算法
- 基于android的语音质量评估
- NYOJ--32--SEARCH--组合数
- vue-cli + sass 的正确打开方式
- Nodejs前端服务器压缩图片
- 新坑:c#弄微信公众号
- (76)Wangdao.com第十四天_JavaScript 正则表达式对象 RegExp
- intptr_t 指针(转)
- Linux守护进程管理利器——Supervisor
- 爬虫应对js混淆的方法
- HTML load事件和DOMCOntentLoaded事件
- 主机网络ping: unknown host baidu.com问题解决
热门文章
- [WASM Rust] Use the js-sys Crate to Invoke Global APIs Available in Any JavaScript Environment
- SQL SELECT TOP, LIMIT, ROWNUM 子句
- hunnu--11545--小明的烦恼——找路径
- 斯坦福《机器学习》Lesson6感想———1、函数间隔和几何间隔
- 重构机房收费系统你要用的——异常处理和抛出异常(try catch finally)——(vb.net)
- apk程序查找方法调用
- 李洪强iOS开发之 - enum与typedef enum的用法
- Centos-tomcat-安装配置apr
- html使用代码大全
- Arcgis Engine(ae)接口详解(5):IGeometry几何基础操作