「EOJ」2985 正方形和圆

2023-10-17 11:59
文章标签 eoj 正方形 2985

本文主要是介绍「EOJ」2985 正方形和圆,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目

小王首先在平面上画一个边长为 N 的正方形 S1,然后又画一个 S1 的内切圆 C1,这算做一次操作。然后接着画 C1的一个内切正方形 S2,和 S2 的一个内切圆 C2,这算第二次操作。他一直进行了 K 次操作。这样平面上就有 K个正方形,K 个圆。

例如当 K=1 时,图形为:

img

当 K=3 时,图形为:

img

编一个程序计算那些属于正方形但是不属于圆的面积(在上图中就是指红颜色的区域)。

输入格式

第 1 行:整数 T (1≤T≤10) 为问题数

第 2 ~ T+1 行:每行包括两个整数 N 和 K,分别对应上面描述中的边长和操作数 (N≤10000,K≤100000)

输出格式

对于每个问题,输出一行问题的编号(0 开始编号,格式:case #0: 等),然后在一行中输出一个值表示红色区域的面积,保留六位小数(四舍五入),不要输出多余的信息。

样例

input

3
10 1
10 2
10 3

output

case #0:
21.460184
case #1:
32.190275
case #2:
37.555321

解题思路

设正方形边长为 n n n,内切圆的半径为 r r r,属于正方形但不属于圆形的面积为 r e s res res

k = 1 k=1 k=1时: r = n / 2 r=n/2 r=n/2, r e s = ( 2 r ) 2 − π r 2 res=(2r)^2-πr^2 res=(2r)2πr2

k > 1 k>1 k>1时,每操作一次,新产生的内切圆的半径为: r = 2 / 2 ∗ r r=\sqrt2/2∗r r=2 /2r, r e s = r e s + ( 2 r ) 2 − π r 2 res=res + (2r)^2 -\pi r^2 res=res+(2r)2πr2

1. 定义变量

int i, n, k;
double res = 0, r;

2. 输入 n n n k k k

scanf("%d%d", &n, &k);

3. 初始化内切圆半径 r r r

r = 1.0 * n / 2;

4. 求 k k k次操作后属于正方形但不属于圆的面积

for (i = 0; i < k; ++i)
{res = res + pow(2r, 2) = M_PI * pow(r, 2);r = sqrt(2) / 2 * r;
}

这篇关于「EOJ」2985 正方形和圆的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225221

相关文章

LeetCode:64. 最大正方形 动态规划 时间复杂度O(nm)

64. 最大正方形 题目链接 题目描述 给定一个由 0 和 1 组成的二维矩阵,找出只包含 1 的最大正方形,并返回其面积。 示例1: 输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4 示例2: 输入: 0 1 1 0 01 1 1 1 11 1 1 1 11 1 1 1 1输出: 9 解题思路 这道题的思路是使用动态规划

3127. 构造相同颜色的正方形(24.8.31)

题目 给你一个二维 3x3 的矩阵 grid,每个格子都是一个字符,要么是 'B' ,要么是 'W'。字符 'W' 表示白色,字符 'B' 表示黑色。 你的任务是改变至多一个格子的颜色,使得矩阵中存在一个 2x2 颜色完全相同的正方形。 如果可以得到一个相同颜色的 2x2 正方形,那么返回 true ,否则返回 false 示例 1: 输入: grid=["B","W","B"],["B",

Gridview图片正方形

现在在Android应用中,GridView中每个Item都是正方形的场景越来越常见。比如 陌陌 的搜索结果界面 陌陌的搜索界面显示 Android手机和IPhone不同, IPhone硬件是苹果自己出的,屏幕尺寸基本没啥太大差别,所以很好适配。 而Android就不一样了,中高低档手机都有,屏幕尺寸严重不统一,如何做到一种实现适配各种Android手机屏幕才是关键。 今天

第五章-OpenMV4 色块识别的图形圆形 正方形识别、 黑色红色识别颜色、坐标识别

项目比赛中需要识别黑色圆形和黄色方形状 要是识别的圆形 openmv代码如下代码带了阈值如何更改阈值 可以使用下面方法 这里是循迹 把循迹线调节成白色就是颜色追踪阈值 把线 调整成 import sensor, image, timesensor.reset() # 重置图像传感器sensor.set_pixformat(sensor.RGB565) # 设置像素格式为RG

[Mdfs] lc473. 火柴拼正方形(剪枝优化+经典题+好题)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接:473. 火柴拼正方形 拔高、证明: [dfs] aw167. 木棒(dfs剪枝与优化+分类讨论+思维+好题) 2. 题目解析 水一篇。和之前的一个问题一模一样,在此不再赘述,写出来方便搜索。 [Mdfs] lc698. 划分为k个相等的子集(剪枝优化+经典题+好题) 时间复杂度:此类 dfs 和剪枝

polarctf靶场【四方密码题】【CRYPTO】不一样的四四方方、四个正方形

[CRYPTO]不一样的四四方方 考点:四方密码 在线网站: https://www.metools.info/code/four-square244.html 或者https://wtool.com.cn/four.html 请开始你的表演(密文):jilinjingcha注意:正确的密钥后面最后一个字母不要!!!key1:informationkey2:engineering

判断正方形

随机输入四个点坐标,判断是否为正方形 编写一个程序,输入为平面上的四个点A(x1,y1),B(x2,y2),C(x3,y3),D(x4,y4)编写程序判断这四个点能不能组成一个正方形,可以只说思路,不用写代码. #include <iostream>using namespace std;int main(){int point[4][2] = {0};//存储点坐

LeetCode 3143. 正方形中的最多点数【位运算,构造法】中等【C++,Java,Py3,Go,Rust】

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。 为了方便在PC上运行调试、分享代

力扣221题详解:最大正方形的多种解法与模拟面试问答

在本篇文章中,我们将详细解读力扣第221题“最大正方形”。通过学习本篇文章,读者将掌握如何使用多种方法来解决这一问题,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释,以便于理解。 问题描述 力扣第221题“最大正方形”描述如下: 在一个由 '0' 和 '1' 组成的二维矩阵中,找到只包含 '1' 的最大正方形,并返回其面积。 示例: 输入: matrix = [["1",

1169 正方形

简单- 时间限制: 1000MS内存限制: 256MB分数:100OI排行榜得分:10(0.1*分数+2*难度) 考点:选择结构 描述 有一个正方形,四个角的坐标分别是(1,-1),(1,1),(-1,-1),(-1,1)。写一个程序,判断一个给定的点(x,y)是否在这个正方形内(包括正方形边界),如果在正方形内输出“Yes”,否则输出“No”。 输入描述 一行两个空格隔开的实数x,y,