当前位置: 首页 > news >正文

UVa 356 Square Pegs And Round Holes

题目描述

一个直径为2 n − 1 2n - 12n1单位的圆被绘制在2 n × 2 n 2n \times 2n2n×2n的棋盘上。下图展示了n = 3 n = 3n=3时的构造。

要求:编写程序,确定棋盘上包含圆弧段的格子数量,以及完全位于圆内的格子数量。

输入格式

输入文件的每行包含一个不超过150 150150的正整数n nn

输出格式

对于每个输入值n nn,按样例输出格式输出两行,后跟一个空行。

样例输入

3 4

样例输出

In the case n = 3, 20 cells contain segments of the circle. There are 12 cells completely contained in the circle. In the case n = 4, 28 cells contain segments of the circle. There are 24 cells completely contained in the circle.

题目分析

问题的本质

这是一个几何计数问题。圆被放置在2 n × 2 n 2n \times 2n2n×2n的棋盘中央,圆的直径d = 2 n − 1 d = 2n - 1d=2n1,因此半径为r = ( 2 n − 1 ) / 2 = n − 0.5 r = (2n - 1)/2 = n - 0.5r=(2n1)/2=n0.5

棋盘共有( 2 n ) × ( 2 n ) (2n) \times (2n)(2n)×(2n)个单元格,每个单元格是1 × 1 1 \times 11×1的正方形。圆与棋盘同中心。

坐标系统

将棋盘左下角设为( 0 , 0 ) (0,0)(0,0),右上角为( 2 n , 2 n ) (2n, 2n)(2n,2n)。每个单元格以其左下角坐标( i , j ) (i, j)(i,j)标识,其中0 ≤ i , j ≤ 2 n − 1 0 \le i, j \le 2n-10i,j2n1

圆的中心位于( n , n ) (n, n)(n,n),半径为r = n − 0.5 r = n - 0.5r=n0.5

单元格分类

  • 完全在圆内:单元格的四个顶点都在圆内(到圆心距离≤ r \le rr
  • 包含圆弧段(与圆相交):单元格至少有一个顶点在圆内,至少有一个顶点在圆外,且该单元格与圆相交

对称性

由于圆和棋盘都是中心对称的,只需计算四分之一的区域,然后乘以4 44

参考代码

// Square Pegs And Round Holes// UVa ID: 356// Verdict: Accepted// Submission Date: 2016-06-28// UVa Run Time: 0.000s//// 版权所有(C)2016,邱秋。metaphysis # yeah dot net#include<bits/stdc++.h>usingnamespacestd;intmain(){intn,cases=0;while(cin>>n){// 输出空行分隔测试用例if(cases++)cout<<endl;// 包含圆弧段的格子数 = (2n-1) * 4cout<<"In the case n = "<<n<<", "<<(2*n-1)*4;cout<<" cells contain segments of the circle."<<endl;// 统计完全位于圆内的格子数intcontained=0;// 只考虑第一象限(不含坐标轴),因为对称性for(inti=1;i<=n-1;i++)for(intj=1;j<=n-1;j++)// 判断右上角顶点是否在圆内// 等价于 4(i^2 + j^2) <= (2n-1)^2if(4*(i*i+j*j)<=(2*n-1)*(2*n-1))contained++;// 四个象限,乘以 4cout<<"There are "<<contained*4<<" cells completely contained in the circle."<<endl;}return0;}
http://www.rkmt.cn/news/1441731.html

相关文章:

  • 3大核心模块深度解析:ok-ww自动化工具如何实现鸣潮游戏效率倍增
  • Apache Guacamole 远程桌面网关教程:浏览器打开家里的 Windows / Linux 主机
  • 基于W5500与Arduino的物联网股票监控系统:硬件实现与代码解析
  • 微信聊天记录如何真正属于你?探索WeChatMsg的数据自主实践指南
  • 2026 西安手表回收怎样避坑?真实案例教你挑选正规门店 - 薛定谔的梨花猫
  • Vue 项目实战《尚医通》,完成挂号预约业务,笔记19
  • 2026年湖北瓦楞纸箱定制厂商全景评测:孝感源头工厂如何破解包装成本与品控双重困局 - 优质企业观察收录
  • 用铅笔和铝箔自制低成本弯曲传感器:原理、制作与Arduino应用
  • 复盘近期行业事件,看懂 AI 发展新趋势
  • 为什么92%的医学动画团队还在用Blender重做Sora 2已生成的血管灌注序列?——神经外科AI动画组内部泄漏手册
  • 漳州 3 天 2 晚怎么玩?这份超全攻略收好,本地人都夸省心! - 资讯速览
  • 如何在Windows电脑上直接安装安卓应用?APK-Installer为你提供专业解决方案
  • MinIO 灾备方案
  • Forza Mods AIO终极指南:免费开源极限竞速修改工具快速上手
  • 如何快速获取蓝奏云直链:面向新手的完整解析指南
  • 不锈钢钢丝绳在电子防盗扣中的耐酸碱腐蚀技术改进
  • 落差超百米!庐山三叠泉为何能成为瀑布中的经典
  • 语音转文字app推荐实测,筛选5款高准确率实用工具
  • 广州2026二手房翻新公司排行:精准方案、精细交付、精心服务 - 资讯速览
  • 开源贡献指南——从提交PR到维护项目
  • 2026年 隔绝式压缩氧气自救器及配件厂家推荐榜:安全阀/储气袋/减压器/开关等核心组件与品牌深度解析 - 企业推荐官【官方】
  • 【仅限首批200家内测机构】Sora 2虚拟主播视频API密钥申请通道即将关闭:3类合规红线与5项资质预检清单
  • 龙岗电商财税4家公司专业度与服务能力对比 - 奔跑123
  • D-05-一人公司+AI:如何用AI承接外包项目?
  • 使用Rufus制作Windows To Go便携系统:从原理到实战
  • 2026年6月青岛防水补漏哪家靠谱?本地专业防水品牌测评避坑指南 - 吉修匠
  • 2026 年北京搬家公司口碑榜:标准化、精品化、高端化横评 - 资讯焦点
  • 基于ESP8266与MQTT的智能家居安防蜂鸣器反馈系统实现
  • 龙岗电商财税公司选型推荐与合规落地指南 - 奔跑123
  • 六边形LED时钟制作:从坐标系统到康威生命游戏的创意实现