☰
2025年12月GESP(C++二级): 黄金格
2026/10/5 21:25:54 网站建设 项目流程

2025年12月GESP(C++二级): 黄金格

题目描述

小杨在探险时发现了一张神奇的矩形地图,地图有H HH行和W WW列。每个格子的坐标是( r , c ) (r, c)(r,c),其中r rr表示行号从1 11到H HH,c cc表示列号1 11到W WW。

小杨听说地图中隐藏着一些“黄金格”,这些格子满足一个神秘的数学挑战:当格子坐标( r , c ) (r, c)(r,c)代入特定的不等式关系成立时,该格子就是黄金格。具体来说,黄金格的条件是:r 2 + c 2 ≤ x + r − c \sqrt{r^2 + c^2} \leq x + r - cr2+c2​≤x+r−c。

例如,如果参数x = 5 x = 5x=5,那么格子( 4 , 3 ) (4, 3)(4,3)就是黄金格。因为左边坐标平方和的平方根4 2 + 3 2 \sqrt{4^2 + 3^2}42+32​算出来是5 55,而右边5 + 4 − 3 5 + 4 - 35+4−3算出来是6 66,5 55小于等于6 66,符合条件。

输入格式

三行,每行一个正整数,分别表示H , W , x H,W,xH,W,x。含义如题面所示。

输出格式

一行一个整数,代表黄金格数量。

输入输出样例 1
输入 1
4 4 2
输出 1
4
说明/提示
样例解释

图中标注为黄色的四个格子是黄金格,坐标分别为( 1 , 1 ) (1, 1)(1,1),( 2 , 1 ) (2, 1)(2,1),( 3 , 1 ) (3, 1)(3,1),( 4 , 1 ) (4, 1)(4,1)。

数据范围

对于所有测试点,保证给出的正整数不超过1000 10001000。

思路分析

这道题的核心是判断每个格子是否满足条件:r 2 + c 2 ≤ x + r − c \sqrt{r^2 + c^2} \leq x + r - cr2+c2​≤x+r−c

解题要点:
  1. 需要遍历地图上的所有格子,即H × W H \times WH×W个格子
  2. 对每个格子计算:
    • 左边:r 2 + c 2 \sqrt{r^2 + c^2}r2+c2​(欧几里得距离)
    • 右边:x + r − c x + r - cx+r−c
    • 比较两边大小
  3. 注意数据范围:H , W , x H, W, xH,W,x都不超过1000,最坏情况需要计算10 6 10^6106次,完全可以接受

代码实现

#include<bits/stdc++.h>usingnamespacestd;inth,w,x,cnt=0;// h:行数,w:列数,x:参数,cnt:计数器intmain(){// 读取输入cin>>h>>w>>x;// 遍历所有格子for(intr=1;r<=h;r++){for(intc=1;c<=w;c++){// 判断条件是否成立// sqrt(r*r + c*c) <= x + r - cif(sqrt(r*r+c*c)<=x+r-c){cnt++;// 计数器加1}}}// 输出结果cout<<cnt;return0;}

功能分析

1. 输入处理
  • 读取三个整数:地图行数H HH、列数W WW和参数x xx
  • 存储在变量h,w,x中
2. 遍历与判断
  • 使用双重循环遍历所有坐标( r , c ) (r, c)(r,c)
  • 对每个格子计算不等式两边:
    • 左边:r 2 + c 2 \sqrt{r^2 + c^2}r2+c2​,即从原点(0,0)到点(r,c)的欧几里得距离
    • 右边:x + r − c x + r - cx+r−c,由参数x和坐标计算得到
  • 判断不等式是否成立
3. 计数与输出
  • 使用计数器cnt记录满足条件的格子数量
  • 最后输出计数结果
4. 算法复杂度
  • 时间复杂度:O ( H × W ) O(H \times W)O(H×W)
    • 最坏情况:1000 × 1000 = 10 6 1000 \times 1000 = 10^61000×1000=106次循环
    • 每次循环包含一次平方根计算和一些简单运算
  • 空间复杂度:O ( 1 ) O(1)O(1),只使用了几个变量

各种学习资料,助力大家一站式学习和提升!!!

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return0;}
  • 一、CSP信奥赛C++通关学习视频课:
    • C++语法基础
    • C++语法进阶
    • C++算法
    • C++数据结构
    • CSP信奥赛数学
    • CSP信奥赛STL
  • 二、CSP信奥赛C++竞赛拿奖视频课:
    • 信奥赛csp-j初赛高频考点解析
    • CSP信奥赛C++复赛集训课(12大高频考点专题集训)
  • 三、考级、竞赛刷题题单及题解:
    • GESP C++考级真题题解
    • CSP信奥赛C++初赛及复赛高频考点真题解析
    • CSP信奥赛C++一等奖通关刷题题单及题解

详细内容:

1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):

https://edu.csdn.net/lecturer/7901 点击跳转


2、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

3、csp信奥赛冲刺一等奖有效刷题题解:

CSP信奥赛C++初赛及复赛高频考点真题解析(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

  • 2025 csp-j 复赛真题及答案解析(最新更新)
  • 2025 csp-x(山东) 复赛真题及答案解析(最新更新)
  • 2025 csp-x(河南) 复赛真题及答案解析(最新更新)
  • 2025 csp-x(辽宁) 复赛真题及答案解析(最新更新)
  • 2025 csp-x(江西) 复赛真题及答案解析(最新更新)
  • 2025 csp-x(广西) 复赛真题及答案解析(最新更新)
  • 2020 ~ 2024 csp 复赛真题题单及题解
  • 2019 ~ 2022 csp-j 初赛高频考点真题分类解析
  • 2021 ~ 2024 csp-s 初赛高频考点解析
  • 2023 ~ 2024 csp-x (山东)初赛真题及答案解析
  • 2024 csp-j 初赛真题及答案解析
  • 2025 csp-j 初赛真题及答案解析(最新更新)
  • 2025 csp-s 初赛真题及答案解析(最新更新)
  • 2025 csp-x (山东)初赛真题及答案解析(最新更新)
  • 2025 csp-x (江西)初赛真题及答案解析(最新更新)
  • 2025 csp-x (辽宁)初赛真题及答案解析(最新更新)

CSP信奥赛C++一等奖通关刷题题单及题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转

  • 129 道刷题练习和详细题解,涉及:模拟算法、数学思维、二分算法、 前缀和、差分、深搜、广搜、DP专题、 树和图

4、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转

· 文末祝福 ·

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}

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

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

立即咨询