长春市网站建设_网站建设公司_前后端分离_seo优化
2025/12/31 19:45:18 网站建设 项目流程

一、先看原题:

二、题目解析

1、📖 故事背景

小杨来到了一张神奇地图🗺️✨

地图是一个方格世界:

  • H 行

  • W 列

  • 每个格子都有坐标(行号, 列号)

但是!

👉 不是所有格子都普通
👉 有些是 ✨黄金格


2、🧠 黄金格的秘密条件

一个格子(r, c)是黄金格,当:

√(r² + c²) ≤ x + r - c

听起来吓人?😄
其实我们只要照着算就行!


3、🧩 程序思路(像走地图)

1️⃣ 一行一行看
2️⃣ 一列一列看
3️⃣ 对每个格子:

  • 计算左边

  • 计算右边

  • 判断能不能当黄金格

4️⃣ 能 → 计数 +1


4、💻 参考程序

#include <iostream> #include <cmath> using namespace std; int main() { int H, W, x; cin >> H >> W >> x; int ans = 0; // 黄金格数量 for (int r = 1; r <= H; r++) { for (int c = 1; c <= W; c++) { if (sqrt(r * r + c * c) <= x + r - c) { ans++; } } } cout << ans << endl; return 0; }

5、🔍 逐行讲解

#include <cmath>

👉 因为要用sqrt()(开平方)


for (int r = 1; r <= H; r++)

👉 在地图上一行一行走


for (int c = 1; c <= W; c++)

👉 每一行里,一列一列看


sqrt(r * r + c * c)

👉 算左边的数学公式


if ( ... ) ans++;

满足条件 → 找到一个黄金格 ✨


6、 题目要点:

  • 双重 for 循环(二维地图)

  • 使用sqrt()数学函数

  • 把复杂条件写进if


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询