//dfs
// k = 0, ans = 1;
// k = 1, ans = n*n ;
// k > n, ans = 0;
//还可以进一步优化
// if (n - ps < k - count) rollback; 当剩余列数小于剩余棋子数时,回滚
// 对称性优化, 第一个棋子放在某一列m行,和放在该列n-m+1
// 直接用数组保存所有结果 --- 有些耍赖皮
#include <stdio.h>
int n, k;
int stk[12];
int ps = 0;
int isOK(int m) {
int i;
for (i=0; i<ps; ++i) {
if (m == stk[i]) {
return 0;
}
if (stk[i] > 0 && abs(ps-i) == abs(m-stk[i])) {
return 0;
}
}
return 1;
}
int dfs() {
int m = 1;
int count = 0;
int ans = 0;
while (ps >= 0) {
if (count == k) {
++ans;
--ps;
while (stk[ps] <=0) --ps;
m = stk[ps] + 1;
--count;
continue;
}
if (ps >= n) {
--ps;
while (stk[ps] <= 0 && ps >= 0) --ps;
m = stk[ps] + 1;
--count;
continue;
}
if (m > n) {
stk[ps] = 0;
++ps;
m = 1;
continue;
}
if (isOK(m)) {
stk[ps] = m;
++ps;
m = 1;
++count;
}
else {
++m;
}
}
return ans;
}
int main() {
scanf("%d%d", &n, &k);
if (k > n) {
printf("0\n");
return 0;
}
if (k == 0) {
printf("1\n");
return 0;
}
if (k == 1) {
printf("%d\n", n*n);
return 0;
}
printf("%d\n", dfs());
return 0;
}
相关推荐
体系结构学习-6-超标量处理器
MIPS32-5段流水线采用了指令级并行方式(5个流水段同时运行5条指令)提升系统吞吐率,是一种标量处理器(CPI≥1CPI \ge 1CPI≥1),但是一个周期一条指令以及无法满足现代计算机需求了。 超标量处理器(Superscalar) 1、基本思想:增强指令集并行,让每个周期执行更多指令,实现 CPI<1CPI<1CPI<1 。(IPC=1/CPIIPC = 1...
sgu224
暴搜。
别再瞎试了!手把手教你用DC NXT的compile_ultra命令搞定物理综合(附完整脚本)
本文详细介绍了如何使用DC NXT的compile_ultra命令进行物理综合,包括环境配置、设计库创建、RTL加载、物理约束加载等关键步骤。通过实战示例和完整脚本,帮助工程师快速掌握TOPO模式下的物理综合流程,提升设计效率。
SGU 224
题目大意:给定一个n*n的国际象棋棋盘和k个后,问使得所有后互不相攻击方案数。 题解:无脑爆搜(和紫书P193上面那个差不多),我265ms过的,0.75秒就会T,还好,捏一把冷汗。 %%%__debug大神今天一下午过了BZOJ1999树网的核加强版,还口口声声地吐槽联赛数据弱,WA3个地方的程序都能A。 #include #include #include #include #inclu
RADIOML 2018.01A调制信号数据集介绍及处理
RadioML 2018.01A 由 DeepSig 发布,是专门针对自动调制识别(Automatic Modulation Recognition, AMR)和无线信号分类研究设计的基准数据集。它在原有 RadioML 2016.10a 的基础上,扩展并精细化了信道仿真模型,使得信号更接近真实无线环境下的表现。该数据集广泛用于机器学习模型的训练与评估,为各类深度学习算法提供了统一、可重复的实验条件。
别再让地图加载慢吞吞!GeoServer + GeoWebCache 缓存配置实战(附性能对比)
本文详细介绍了如何通过GeoServer和GeoWebCache优化地图服务性能,实现地图加载速度的显著提升。从缓存机制解析到实战配置流程,再到高级性能调优技巧,帮助开发者构建高效地图缓存系统,解决地图加载慢的问题。
SGU 224 Little Queens
SGU_224 这个题目由于状态总数很大,但最后的结果又比较小,所以相比用状态压缩dp就很难搞定了,还是直接用dfs比较好。 由于皇后每行只能放一个,我们不妨逐行递推。受Matrix67的启发,其实不必开数组去记录哪一条斜线上已经放了皇后,我们可以直接用一个变量比如ls来表示前面放置的皇后的左下斜线覆盖了当前这行的哪些位置(ls的某个二进制位为1表示这个位置被覆盖了,为0表示没...
企查查爬取实战
实战成果完成接口定位、抓包参数拆解、签名逆向、报错修复全流程调试,梳理出企查查多层风控逻辑;最终按照搜索分页规则,规范整理出两页共 20 条结构化企业数据,以标准 JSON 格式本地保存,字段完整、数据排版规范。现存局限平台顶层设备指纹与人机验证风控,纯 requests 网络请求模式无法突破;高频请求还存在账号限流、IP 访问限制风险,爬虫稳定性受平台策略影响较大。技术收获。
N 皇后问题,sgu224
题意是给出 一个n *n 的棋盘,放置k个皇后,求出有多少种放置的情况? dfs 搜索可做,要用到状态的压缩,把每一行的状态压成一个integer 类型的数。 从第一层向下搜索。 上一层 对下一层的影响有三种 : 竖直向下 、向左斜 、向右斜 在搜 r层时 用 row 表示 r 层以上 所有的皇后在竖直方向上对第r层的影响 1 表示在攻击范围内 0 表示不再攻击范围内
Obsidian的Git插件设置配置全流程 -- 简单的电脑端多平台同步方案及常见问题
Git同步obsidian的保姆级教程和常见问题
终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题)
终于找到了!Ubuntu 虚拟机卡死的终极解决方案(如何解决VMware安装Ubuntu24.04桌面进不去、黑屏、虚拟机卡死、显示不全、屏幕闪烁等问题)
sgu224 分类: sgu 2015-06-...
喜闻乐见的暴搜。 #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> int n, k, col, dl, dr; long long dfs(int row, i...
利用AWVS进行反制
awvs 10.5下载 http://www.32r.com/soft/12986.html
SGU 224.Little Queens
时间限制:0.75s 空间限制:6M 题意 n*n(n<=10)的棋盘,求出放置m(m<=n*n)个皇后的方案数。 Solution: 状态压缩+位运算 搜索。 首先我们从上往下逐行放置, DFS(line, row, l, r, k) ...
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
LinePhone3.2.7(android端最新版本) sip客户端
SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/
SGU224 K皇后 DLX+打表
N*N的棋盘放K个皇后,0<=K<=n*n..之前一直没想好K皇后怎么转化成精确覆盖问题,因为它行列都不一定全部覆盖,而DLX在搜的时候,它是按照一个固定的顺序,一行一行的删除的,后来想了想,枚举到一行的时候,只要能添加一种“不放置”的选择,那么在搜完K行的时候得到的就是一组解。实现的话,不放置的选择对应一个假删除,就是只把矩阵中对应棋盘上该行的一列的列表头删除而矩阵中的内容不变,这样既没有在这这
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
sgu224:Little Queens(搜索)
题目大意: ~~~~~~一个n∗nn*n的棋盘,放入kk个棋子,两两不相邻(88个方向都算相邻)的方案数。n≤10,k≤n2n\leq 10,k\leq n^2。分析: ~~~~~~就是一个简单的DPDP,f[i][j][k]f[i][j][k]表示第ii行放了jj个棋子状态为kk的方案数。AC code:#include <cstdio> #include <cstri
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
sgu224Little Queens 225. Little Knights
题意:n*n(n<=10)的棋盘,求出放置m(m<=n*n)个皇后的方案数。tip:状态压缩+位运算 一行一行dfs dfs(当前行号,列状态(哪个可以选可以不选),左上来的(哪个可以选可以不选),右上来的(哪个可以选可以不选),已放置棋子数)#include <cstdio> #include <cstring> #include <iostream> using namespace std;
SGU242 最大流 容量限制为2
题目意思就是 N 个学生到M 个公司, 每个学生有想去的公司,要求M个公司必须d
Sgu棋盘覆盖系列
求n*n的棋盘上放K个象的放法, 象可以对角线相互攻击 解法:把红色方格从棋盘中抽出,再将棋盘和小方格都旋转45°再压缩,由于两种颜色的棋盘互不攻击,印刻可以看成两个棋盘,格子棋盘上变为放只能上下攻击的车的个数(详见黑书p244)。 Sgu 221 Big Bishops 解法同上,只是把数据放大了,超long long ,用java里的BigInteger
SGU AC人数排序 可以用来确定刷题顺序
SGU AC人数排序 此谓刷题进TOP10的必备神器!
online judge汇总
http://ioio.name/acm 1.SGU(Saratov State University OnlineContester) 有很多难题,还有Virtual Contest,推荐推荐。 地址: http://acm.sgu.ru/ 2.Ural(Timus Online Judge) 有很多自己独有的题目。 地址: htt
告别注意力机制?手把手带你用PyTorch复现NeurIPS 2021的gMLP模型
本文详细解析了NeurIPS 2021提出的gMLP模型,通过PyTorch实现展示了如何用纯MLP结构替代注意力机制。文章深入探讨了空间门控单元(SGU)的设计原理与实现细节,并提供了完整的代码解析和训练优化技巧,帮助开发者在资源受限环境下高效部署无注意力架构模型。
常用OJ名字+地址(自用)
常用OJ名字+地址 不定期更新,自己用,有补充的也可以给我说说哈。 中文 openjudge 地址:openjudge.cn 说明:北大提供的一个平台,学校可申请小组; 比较好的小组: 计算概论:ica.openjudge.cn noi小组:noi.openjudge.cn tyvj 地址:http://www.tyvj.cn/ 老OJ,现在基本属于清北学堂了 codevs 地址:...
ACM学习网站汇总
转载地址:http://www.cnblogs.com/zhourongqing/archive/2012/05/24/2516180.html http://61.187.179.132/JudgeOnline/problemset.php 特点:一个中学oj 、题目都是中文的 http://acm.hust.edu.cn:8080/judge/problem/toList
国内外ACM/ICPC的OJ,BBS列表
北京邮电大学 http://acm.scs.bupt.cn/onlinejudge/(推荐) 北京大学 http://acm.pku.edu.cn/JudgeOnline/ (推荐) http://poj.grids.cn/(内部) 浙江大学 http://acm.zju.edu.cn/ (推荐) 天津大学 http://acm.tju.edu.cn/toj/ 武汉大学 http://acm.whu.edu.cn/oak/FELIOJ http://acm.whu.edu
1213



被折叠的 条评论
为什么被折叠?



