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

Two Knights(数学归纳)

题目描述

Your task is to count for k=1,2,...,n the number of ways two knights can be placed on a k * k chessboard so that they do not attack each other.

输入

The only input line contains an integer n(1 ≤ n ≤ 10000).

输出

Print n integers: the results.

样例输入 Copy
8
样例输出 Copy
0
6
28
96
252
550
1056
1848

不考虑攻击,可选的位置有:

k*k的格子内,两个马可以放 (k*k)*(k*k-1)/2 个(去掉重复)

考虑攻击,两个马攻击的时候他们是对称的,所以计算只考虑半边8/2=4个

对于其中一个方向右1上2(=左1下2),马可以有效攻击的格子范围:(行-2)*(列-1)

(如果此时再计算左1下2,就是把这一组多算了一遍)

每一个方向公式都一样,所以一个马在不同位置可能攻击到的格子总数为4*(k-2)*(k-1)

代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n;
int main(){cin>>n;for(ll i=1;i<=n;++i){cout<<i*i*(i*i-1)/2-4*(i-2)*(i-1)<<'\n';}return 0;
}
http://www.dtcms.com/a/295722.html

相关文章:

  • 本地部署Jupyter服务,没有公网IP如何用内网穿透工具实现外网远程访问?
  • 人形机器人_双足行走动力学:Maxwell模型及在拟合肌腱特性中的应用
  • Linux 下安装Python指定版本(可离线安装)
  • Java学习----工厂方法模式
  • 线程通信模型
  • 中国西北典型绿洲区土壤水分特征(2018-2019年)
  • [火了]-----FastGPT 插件系统架构演进:从 Monorepo 到独立生态
  • Spring MVC 统一响应格式:ResponseBodyAdvice 从浅入深
  • 快速将前端得依赖打为tar包(yarn.lock版本)并且推送至nexus私有依赖仓库(笔记)
  • 【工具变量】省市县空气流通系数数据集(1940-2025.3年)
  • Dataease2.10 前端二次开发
  • Windows 系统中 CURL 命令使用指南及常见错误解析
  • Silly Tavern 教程②:首次启动与基础设置
  • 极客大挑战2019-HTTP
  • Vulnhub Matrix-Breakout-2-Morpheus靶机攻略
  • 网络资源模板--基于Android Studio 实现的线上点餐系统
  • 【Linux基础知识系列】第六十三篇 - 文件编辑器基础:vim
  • 自己动手造轮子:如何创建JAR并通过Maven在Spring Boot中引用
  • Opencv C# 重叠 粘连 Overlap 轮廓分割 (不知道不知道)
  • Unity 进行 3D 游戏开发如何入门
  • AUTOSAR进阶图解==>AUTOSAR_SWS_BSWModeManager
  • 智慧驾驶疲劳检测算法的实时性优化
  • 深入思考【九九八十一难】的意义,试用歌曲能否解释
  • 【论文阅读50】-融合领域知识与可解释深度学习
  • 如何构建企业级 Mentor EDA 仿真平台
  • 进程调度的艺术:从概念本质到 Linux 内核实现
  • 从“各玩各的”到“无缝贴贴”:Modbus转Profinet让机器人告别“信息孤岛”
  • 【自动化运维神器Ansible】Ansible常用模块之shell模块详解
  • 数据版本控制系统(Oxen)
  • Terraform与Ansible的关系