当前位置: 首页 > news >正文

【题解】P10871 [COTS 2022] 皇后 Kraljice

打表可以发现,在 \(n\neq 2\) 时:

  • \(2\mid n\),则答案为 \(n^2-2\)
  • \(2\nmid n\),则答案为 \(n^2\)

特判掉 \(n\le 2\) 的情况,然后容易想到奇偶分类讨论。

  • \(2\nmid n\)

考虑沿用 P14158 三角形的构造套路,从 \(n-2\) 的答案倒推出 \(n\) 的答案。容易想到对于 \(n\) 的情况,先构造出右上角的一个图案:

...
.....

这样剩下两个长度为 \(2\times 2k\) 的矩形。矩形的构造是相对简单的,直接分奇偶轮流构造即可。而对于右上角的情况可以直接打表得出构造方案。

最后推到 \(n=1\) 的情况即可。

  • \(2\mid n\)

因为 \(n=2\) 的情况太神秘了,所以考虑只推到 \(n=4\) 然后对 \(4\times 4\) 的矩阵构造。前面倒推的部分和 \(2\nmid n\) 的情况相同,对于最后 \(n=4\) 的构造可以直接手模,这里给出一个 \(14\) 个皇后的构造方案:

cout<<1<<' '<<1<<'\n';
cout<<2<<' '<<3<<'\n';
cout<<1<<' '<<2<<'\n';
cout<<3<<' '<<2<<'\n';
cout<<2<<' '<<1<<'\n';
cout<<4<<' '<<1<<'\n';
cout<<4<<' '<<4<<'\n';
cout<<3<<' '<<3<<'\n';
cout<<1<<' '<<3<<'\n';
cout<<3<<' '<<1<<'\n';
cout<<3<<' '<<4<<'\n';
cout<<4<<' '<<3<<'\n';
cout<<2<<' '<<4<<'\n';
cout<<2<<' '<<2<<'\n';

完整代码:

#include<iostream>
#include<algorithm>
#include<vector>using namespace std;const long long inf=1e18;
const int N=500010;int main()
{ios_base::sync_with_stdio(false);cin.tie(nullptr);int n;cin>>n;if(n<=2){cout<<1<<'\n'<<1<<' '<<1<<'\n';return 0;}if(n%2==1){cout<<n*n<<'\n';for(int i=n;i>1;i-=2){cout<<i<<' '<<i<<'\n';cout<<i-1<<' '<<i-2<<'\n';cout<<i<<' '<<i-1<<'\n';cout<<i-2<<' '<<i-1<<'\n';cout<<i-1<<' '<<i-1<<'\n';cout<<i<<' '<<i-2<<'\n';cout<<i-2<<' '<<i<<'\n';cout<<i-1<<' '<<i<<'\n';for(int j=i-3,op=0;j;--j,op^=1){if(op){cout<<i<<' '<<j<<'\n';cout<<i-1<<' '<<j<<'\n';cout<<j<<' '<<i-1<<'\n';cout<<j<<' '<<i<<'\n';}else{cout<<i-1<<' '<<j<<'\n';cout<<i<<' '<<j<<'\n';cout<<j<<' '<<i<<'\n';cout<<j<<' '<<i-1<<'\n';}}}cout<<1<<' '<<1<<'\n';}else{cout<<n*n-2<<'\n';for(int i=n;i>4;i-=2){cout<<i<<' '<<i<<'\n';cout<<i-1<<' '<<i-2<<'\n';cout<<i<<' '<<i-1<<'\n';cout<<i-2<<' '<<i-1<<'\n';cout<<i-1<<' '<<i-1<<'\n';cout<<i<<' '<<i-2<<'\n';cout<<i-2<<' '<<i<<'\n';cout<<i-1<<' '<<i<<'\n';for(int j=i-3,op=0;j;--j,op^=1){if(op){cout<<i<<' '<<j<<'\n';cout<<i-1<<' '<<j<<'\n';cout<<j<<' '<<i-1<<'\n';cout<<j<<' '<<i<<'\n';}else{cout<<i-1<<' '<<j<<'\n';cout<<i<<' '<<j<<'\n';cout<<j<<' '<<i<<'\n';cout<<j<<' '<<i-1<<'\n';}}}cout<<1<<' '<<1<<'\n';cout<<2<<' '<<3<<'\n';cout<<1<<' '<<2<<'\n';cout<<3<<' '<<2<<'\n';cout<<2<<' '<<1<<'\n';cout<<4<<' '<<1<<'\n';cout<<4<<' '<<4<<'\n';cout<<3<<' '<<3<<'\n';cout<<1<<' '<<3<<'\n';cout<<3<<' '<<1<<'\n';cout<<3<<' '<<4<<'\n';cout<<4<<' '<<3<<'\n';cout<<2<<' '<<4<<'\n';cout<<2<<' '<<2<<'\n';}return 0;
}

(别问为什么缺省源没了,问就是没有电脑拿不到缺省源)

http://www.jsqmd.com/news/326907/

相关文章:

  • 2026执业中药师在线课程怎么选?「口碑王」课程对比,这份推荐够硬核!
  • 深度搜索Agent架构全解析:从入门到进阶,解锁复杂问题求解密码
  • 【学习笔记】拉格朗日插值
  • 超快速的记忆引擎——Supermemory,让你的AI大脑更强大!
  • 股市经验
  • 本地思维导图怕局限?SimpleMindMap+cpolar 让灵感随时联通
  • 【题解】CF2048G Kevin and Matrices
  • 【学习笔记】K-D Tree
  • 【题解】CF1691F K-Set Tree
  • OpenCV(二十六):高斯滤波 - 教程
  • 书匠策AI:教育论文的“数据炼金实验室”,让数字开口说黄金故事
  • 【学习笔记】图上和三元环有关的一类问题
  • 【学习笔记】强制在线 O(1) 逆元
  • 【学习笔记】Chirp-Z Transform
  • Vue 笔记2
  • 深圳腾讯外包项目组面试题记录
  • 基于留出法和k折交叉验证的多种神经网络分类预测MATLAB程序:代码中共包含人工神经网络(AN...
  • 系统软件领域中的BSS段
  • ue 模拟说话
  • 蚌埠本地生活代运营实测推荐:这4家专业服务商助力商家高效引流
  • 2026年真石漆厂家推荐:外墙漆真石漆、保温真石漆、白色真石漆、外墙仿石漆厂家推荐,赋能建筑外墙美观与防护
  • 【毕业设计】基于springboot+Hadoop平台的大学多媒体教学管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 过程性编程和面向对象编程
  • Java毕设项目推荐-基于Hadoop的大学多媒体教学管理系统基于springboot+Hadoop平台的大学多媒体教学管理系统的设计与实现【附源码+文档,调试定制服务】
  • 2026年输送机厂家推荐:污泥破碎机、皮带输送机、螺旋输送机、刮板输送机、链板输送机厂家推荐,从定制到运维的全流程方案
  • Java毕设选题推荐:基于Hadoop平台的大学多媒体教学管理系统基于springboot+Hadoop平台的大学多媒体教学管理系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 2026年外墙翻新厂家推荐:别墅外墙翻新、厂房外墙翻新、高端外墙装饰厂家选择指南,老旧墙面改造实用方案
  • 2026 中小民企管理咨询公司推荐榜:战略目标/组织职责/薪酬职级/绩效考核/职业规划/绩效增长/ 人才招聘/销售管理/6S管理/商业模式咨询辅导,山东手把手领衔优选
  • 【课程设计/毕业设计】基于springboot+Hadoop平台的大学多媒体教学管理系统的设计与实现多媒体教学资源管理系统、数字化教学管理平台、智慧教室管理系统 【附源码、数据库、万字文档】
  • 计算机Java毕设实战-基于springboot+Hadoop平台的大学多媒体教学管理系统多媒体教学资源管理系统、数字化教学管理平台、智慧教室管【完整源码+LW+部署说明+演示视频,全bao一条龙等】