2025.03.04 CW 模拟赛 B. 直线多边形
B. 直线多边形
还是要多往数学方面想.
思路
由于给定了 \(n\) 个顶点, 那么就会有 \(n\) 条边. 根据初中数学知识可以知道, \(n\) 边形的内角和为 \((n - 2) \times 180 \degree\).
同时题目告诉了我们以下条件:
- 任意边都和 \(x\) 或 \(y\) 轴平行.
- 任意内角都是 \(90 \degree\) 或 \(270 \degree\).
- 除了相邻的边有一个公共端点外, 任意两条边都没有公共点.
那么我们可以设有 \(x\) 个内角为 \(270 \degree\), 则有 \((n - x)\) 个内角为 \(90 \degree\). 那么联立一下即可得到
\[270 \degree \cdot x + 90 \degree \cdot (n - x) = (n - 2) \cdot 180 \degree
\]
解得 \(x = \frac{n - 4}{2}\).
print(int(input()) // 2 - 2)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现