题目链接

  • 题意:

    输入n,求正n边形中的对角线1和对角线2的个数(对角线1:至少与其它一个对角线平行;对角线2:至少与其它一个对角线垂直)。对角线不能是多边形的边

    (4 ≤ n ≤ 10e5)
  • 分析:

    思路题。无论是几边形,两个平行边中间所夹的两側的边数必须是同样的。也就是说两个端点朝着一个方向移动若干个短点后能够得到还有一条平行边。

    也就是说,多边形的每一条边都存在平行便(6边形的时候有一点特殊情况单独处理)

    垂直比較麻烦:对于n是偶数的情况,能够得到,每一个点的n-3条边都是对角线2(n为偶数的时候,随意一条对角线一定将原图形分成左右两个对称的图形)。n为奇数时候,没有对角线2(仅仅能是推測)

int a[2][110];
int main()
{
int n;
a[0][4] = 0;
a[0][5] = 0;
a[0][6] = 6;
a[1][4] = 2;
a[1][5] = 0;
a[1][6] = 9;
while (~RI(n))
{
if (n <= 6)
{
printf("%d %d\n", a[0][n], a[1][n]);
}
else
{
cout << 1LL * (n - 3) * n / 2 << ' ';
if (n & 1) cout << 0 << endl;
else cout << 1LL * (n - 3) * n / 2 << endl;
}
}
return 0;
}

最新文章

  1. 无法在“EntityFramework”已存在的情况下创建影像复制该文件的解决方案
  2. kindeditor富文本框,上传文件后,显示文件名称
  3. Hadoop on Yarn 各组件详细原理
  4. DELPHI高性能大容量SOCKET并发(九):稳定性问题解决
  5. 学习记录 java泛型资料
  6. SQL Server -&gt;&gt; 生成Numbers辅助表
  7. .NET单例模式-------各种写法&amp;&amp;验证
  8. Linux和Windows的换行符
  9. MR中的combiner和partitioner
  10. [反汇编练习] 160个CrackMe之016
  11. 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载四(使用程序载入事件)
  12. windows查看某个端口被谁占用
  13. POJ 3579- Median
  14. openfire :openfire 不同类型插件的开发示例
  15. 【转载】java final 关键字的几种用法
  16. Spring 简单使用IoC与DI——XML配置
  17. 大整数加减运算的C语言实现
  18. C#遍历枚举(Enum)值
  19. JQuery EasyUI学习笔记
  20. xml时间配置

热门文章

  1. mongo 3.4分片集群系列之六:详解配置数据库
  2. [JavaScript] Uncaught TypeError: Method get Set.prototype.size called on incompatible receiver
  3. (转)淘淘商城系列——Solr的安装
  4. Handling unhandled exceptions and signals
  5. JavaScipt30(第十个案例)(主要知识点:选中一个数组中间相连部分进行操作的一种思路)
  6. (独孤九剑)---PHP操作MySQL数据库
  7. linux 系统 UDP 丢包问题分析思路
  8. 多校1010 Taotao Picks Apples
  9. Spring 获取当前activeProfile
  10. 【Codeforces 494A】Treasure