ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CF1096C题解

2021-08-04 16:01:33  阅读:156  来源: 互联网

标签:凑出 times180 题解 边形 circ 180 theta CF1096C


题意:

给定一个角度值,问最少在正几边形中可以找到三个点 \(A\) ,\(B\) ,\(C\) ,使 \(∠ABC\) 为这个角度值,如果不存在这个正 \(n\) 边形,则输出 \(-1\) ,有多组数据。

思路:

  • 首先可以发现不可能数据使得程序输出 \(-1\) ,因为任意 \(1^{\circ}\leq\theta<180^{\circ}\) 都可以由一个正 \(360\) 边形得出。
  • 然后可以发现对于任意正 \(n\) 边形 \((n>2)\) 所能凑出的最小角度一定是

\[\theta=\frac{180^{\circ}}{n} \]

最大角比较显然,就是这个正多边形的内角,可以发现能组成的所有角一定能被最小角整除,这个角必然是 \(k\) \((k>0)\) 个最小的角组成的

\[\theta=\frac{k}{n}\times180^{\circ} \]

整理可得 \(n\times\theta=k\times180^{\circ}\) ,那么可以考虑枚举 \(n\) ,如果出现 \(n\times\theta\) 可以被 \(180^{\circ}\) 整除,且 \(\theta\) 小于正 \(n\) 边形能凑出的最大角,即可。

标签:凑出,times180,题解,边形,circ,180,theta,CF1096C
来源: https://www.cnblogs.com/blogbyWHY/p/15099301.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有