体素化心
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
最近刷抖音时,总是刷到用 “爱心效果” 代码表白的高赞视频。
视频里斑斓的特效汇聚成一颗跳动的心脏,配文:“代码只有几十行,对你的思念却不止于此。”

作为一名严谨的理工科学生, 被深深触动了。但他关注的点不太一样。他想:“如果我们要量化这份‘思念’的体积,能不能通过体素化(Voxelization)扫描来精确计算呢?”
于是,他将爱心放入了一个离散的三维网格中。
题目描述
我们定义一个三维心形隐式曲面,其内部区域由以下不等式确定(由 Nordstrand 和 Kuska 于 2004 年提出):
$$(2x^2 + 2y^2 + z^2 - 1)^3 - \frac{1}{10}x^2z^3 - y^2z^3 < 0$$我们关注的扫描区域是一个边长为 的立方体空间,坐标范围为 。

隐式曲面在该空间内的示意图
现将该立方体在 三个轴向上分别均匀划分为 份,从而形成 个微小的立方体单元(称为体素)。当且仅当某体素的几何中心点坐标满足上述心形不等式时,我们认为该体素被心形“占据”。

时空间内被占据体素示意图
现在,给定划分粒度 ,请你计算并输出被心形占据的体素总数量。
输入格式
输入包含一个正整数 ,表示空间的划分粒度。
输出格式
输出一个整数,表示在划分粒度 下被心形占据的体素总数量。
数据范围
对于 的数据,满足 。
在比赛环境中,你可以使用 __int128_t 定义一个 位整数,它最多可以容纳一个 位十进制整数。
__int128_t 类型的变量不能进行读入和输出(也就是说,你无法使用 cin 和 cout 来直接读入或输出一个 __int128_t 整数)。不过它可以作为一个中间量进行各种加减乘除运算。
输入输出样例
10
88
133
204951
软件学院 2025 级编程竞赛实验班结业选拔考试
- 状态
- 已完成
- 规则
- XCPC
- 题目
- 13
- 开始于
- 2025-12-28 18:00
- 结束时间
- 2025-12-28 20:00
- 持续时间
- 2 小时
- 主持人
- 参赛人数
- 69