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);
}

最新文章

  1. web前端基础知识-(六)jQuery-补
  2. java构造方法的作用以及简单java类
  3. PostgreSQL index types and index bloating
  4. redhat enterprixe 5.0 NFS服务配置与管理
  5. oracle 11g 通过透明网关链接mysql
  6. ZOJ 3211 Dream City(DP)
  7. java学习之Java中JDK,JRE和JVM之间的关系(转载)
  8. JAVA堆与栈
  9. 购物篮模型&amp;Apriori算法
  10. 基于android的语音质量评估
  11. NYOJ--32--SEARCH--组合数
  12. vue-cli + sass 的正确打开方式
  13. Nodejs前端服务器压缩图片
  14. 新坑:c#弄微信公众号
  15. (76)Wangdao.com第十四天_JavaScript 正则表达式对象 RegExp
  16. intptr_t 指针(转)
  17. Linux守护进程管理利器——Supervisor
  18. 爬虫应对js混淆的方法
  19. HTML load事件和DOMCOntentLoaded事件
  20. 主机网络ping: unknown host baidu.com问题解决

热门文章

  1. [WASM Rust] Use the js-sys Crate to Invoke Global APIs Available in Any JavaScript Environment
  2. SQL SELECT TOP, LIMIT, ROWNUM 子句
  3. hunnu--11545--小明的烦恼——找路径
  4. 斯坦福《机器学习》Lesson6感想———1、函数间隔和几何间隔
  5. 重构机房收费系统你要用的——异常处理和抛出异常(try catch finally)——(vb.net)
  6. apk程序查找方法调用
  7. 李洪强iOS开发之 - enum与typedef enum的用法
  8. Centos-tomcat-安装配置apr
  9. html使用代码大全
  10. Arcgis Engine(ae)接口详解(5):IGeometry几何基础操作