黄金格
题目描述
小杨在探险时发现了一张神奇的矩形地图,地图有 H 行和 W 列。每个格子的坐标是 (r,c),其中 r 表示行号从 1 到 H,c 表示列号从 1 到 W。
小杨听说地图中隐藏着一些"黄金格",这些格子满足一个神秘的数学挑战:当格子坐标 (r,c) 代入特定的不等式关系成立时,该格子就是黄金格。
具体来说,黄金格的条件是:r2+c2≤x+r−c,其中 x 是给定的参数。
例如,如果参数 x=2,那么格子 (1,1) 就是黄金格。因为左边坐标平方和的平方根 1+1≈1.41,而右边 2+1−1=2,1.41≤2,符合条件。
输入格式
输入共三行,每行一个正整数,分别表示 H,W,x。
输出格式
输出一行一个整数,代表黄金格的数量。
样例输入 #1
4
4
2
样例输出 #1
4
样例解释 #1
H=4,W=4,x=2 时,黄金格共有 4 个,坐标分别为 (1,1),(1,2),(2,1),(3,1)。
验证:
- (1,1): 2≈1.41≤2+1−1=2 ✓
- (1,2): 5≈2.24≤2+1−2=1 ✗
等等,(1,2) 不满足条件。让我重新计算。
(1,2): 1+4=5≈2.24,右边 2+1−2=1,2.24≤1 不成立。
所以正确答案应该是 (1,1),(2,1),(3,1) 这 3 个格子,但样例输出是 4,需要重新验证。
根据整数变形:c(x+r)≤xr+x2/2,当 x+r>0。
对于 r=1,x=2: c(3)≤2+2=4,所以 c≤4/3=1.33,即 c≤1。
对于 r=2,x=2: c(4)≤4+2=6,所以 c≤6/4=1.5,即 c≤1。
对于 r=3,x=2: c(5)≤6+2=8,所以 c≤8/5=1.6,即 c≤1。
对于 r=4,x=2: c(6)≤8+2=10,所以 c≤10/6≈1.67,即 c≤1。
所以黄金格是 (1,1),(2,1),(3,1),(4,1) 共 4 个。样例正确!
数据范围
- 1≤H,W,x≤1000
知识点与难度
本题涉及的知识点从属于 GESP二级(循环、条件判断、数学函数、整数运算优化),难度等级:普及-。
核心考点:
- 不等式的数学变形能力
- 避免浮点数精度问题的整数运算技巧
- 双重循环遍历与条件判断