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

【题解】成外友谊赛

T1 舞蹈机器⼈

题目大意:
给一个可以向四个方向移动的小点,对于每次移动,如果上或下⽅向进⾏了⼀次移动,那么,下⼀次就只能往左或右⽅向进⾏⼀次移动,反之亦然。
求该点可以到达的位置数量。

STEP 1.

对于这个问题,我们可以想到一种非常暴力且优雅的 DFS 解法:

void dfs(int x,int y,int towards,int step){if(x < 0 || x >= n || y < 0 || y >= m) return; // 越界if(step==n){arr[x][y]++; // 到达位置}if(towards==0){ // 左右dfs(x-1,y,1,step+1);dfs(x+1,y,1,step+1);}else{ // 上下dfs(x,y-1,0,step+1);dfs(x,y+1,0,step+1);}
}
int main(){/*其他内容*/dfs(501,501,0,0); //从中间开始dfs(501,501,1,0);int ans=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(arr[i][j]) ans++; // 统计到达位置的数量}}cout<<ans;return 0;
}

喜提 \(60\space pts\)!

STEP 2.

言归正传,这其实是一道数学题。

对于 \(n\) 为偶数时,对于整个的移动过程⽽⾔,每两次移动就相当于是在正⽅形的对⻆线上移动了⼀次(即斜着⾛了⼀步),我们可以发现其能够到达的地方其实就是一个边长为 \(n/2+1\) 的正方形。

例如,在 \(n=4\) 时,图中所标记的蓝色点即为可到达的点

img

对于 \(n\) 为奇数时,我们可以发现其能够到达的地方其实就是两个长为 \(n/2+1\) 宽为 \(n/2+2\) 的长方形构成的。

img

STEP 3.

因此,我们可以根据 \(n\) 的奇偶性,来获得最终答案

\( ans=\begin{cases} (n/2+1)^2&n\space mod\space 2=0\\ 2\times(n/2+1)\times(n/2+2)&n\space mod\space 2=1 \end{cases} \)

代码
#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin>>n;if(n&1){ // n 为奇数cout<<2*(n/2+1)*(n/2+2);}else{ // n 为偶数cout<<(n/2+1)*(n/2+1);}return 0;
}
http://www.gsyq.cn/news/23201.html

相关文章:

  • 小程序商城客服系统
  • 2025.10.17
  • 一行代码清空所有 docker 容器的日志文件
  • 2024 CCPC Final F
  • ubuntu常用技巧
  • 字典树 Trie 乱讲
  • 申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?​
  • 实用指南:计算机毕设java基于mybatis的医用器械管理系统 基于 SSM+JavaWeb 的医用器械全流程管理平台 Java+MySQL 的医疗物资一体化系统
  • ffmpeg使用
  • 2025.10.17总结 - A
  • Ubuntu创建python桌面图标
  • Nimble:让SwiftObjective-C测试变得更优雅的匹配库 - 指南
  • 【Linux】基础 I/O - 指南
  • DIVCNT
  • 详细介绍:CI/CD流水线优化:GitLab CI镜像构建加速实战​
  • 最新版Origin 2025b安装包下载及详细安装教程,附永久免费中文汉化破解版Origin安装包
  • Unity3D中定义全局宏(不同于在unity设置中的)
  • HyperWorks许可状态监控工具
  • 从创作到分析:2025 公众号排版工具全维度测评榜单
  • 2025 年无锡专线物流公司最新推荐排行榜:聚焦个性化运输解决方案,精选优质服务商往返无锡/冷链无锡/公路无锡/大件无锡专线物流公司推荐
  • 第三次课动手动脑合集
  • 2025 年火山石厂家最新推荐排行榜:聚焦自有矿藏与全自动生产,涵盖滤料填料等多品类企业权威指南人工湿地填料/人工湿地滤料/黑色/红色火山石厂家推荐
  • mysql5.7.44升级到8.0.34 mysql跨版本升级实战操作 windows环境
  • 【SPIE出版、往届已检索】第十届能源系统、电气与电力国际学术会议 (ESEP 2025)
  • 2025-10-17
  • 有趣评测小程序系统:开启视频与答题变现新创业风口
  • 设备租赁归还小程序系统:免人工化租赁管理解决方案
  • Navcat如何上传数据大的sql文件?
  • 使用Scalar.AspNetCore来管理你的OpenApi
  • 设计社会意识算法的三大关键问题