博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单几何(水)BestCoder Round #50 (div.2) 1002 Run
阅读量:6156 次
发布时间:2019-06-21

本文共 1910 字,大约阅读时间需要 6 分钟。

 

1 /* 2     好吧,我不是地球人,这题只要判断正方形就行了,正三角形和正五边形和正六边形都不可能(点是整数)。 3     但是,如果不是整数,那么该怎么做呢?是否就此开启计算几何专题了呢 4 */ 5 /************************************************ 6  * Author        :Running_Time 7  * Created Time  :2015-8-8 19:54:14 8  * File Name     :B.cpp 9  ************************************************/10 11 #include 
12 #include
13 #include
14 #include
15 #include
16 #include
17 #include
18 #include
19 #include
20 #include
21 #include
22 #include
23 #include
24 #include
25 #include
26 #include
27 #include
28 using namespace std;29 30 #define lson l, mid, rt << 131 #define rson mid + 1, r, rt << 1 | 132 typedef long long ll;33 const int MAXN = 22;34 const int INF = 0x3f3f3f3f;35 const int MOD = 1e9 + 7;36 struct Point {37 int x, y;38 }p[MAXN];39 int id[10];40 int n, tot;41 42 int cal_dis(int x1, int y1, int x2, int y2) {43 return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);44 }45 46 bool judge(void) {47 int tt = 0; int d[20];48 for (int i=1; i<=4; ++i) {49 for (int j=i+1; j<=4; ++j) {50 d[++tt] = cal_dis (p[id[i]].x, p[id[i]].y, p[id[j]].x, p[id[j]].y);51 }52 }53 sort (d+1, d+1+tt);54 for (int i=1; i<=3; ++i) if (d[i] != d[i+1]) return false;55 if (d[5] != d[6]) return false;56 if (d[5] != d[1] * 2) return false;57 return true;58 }59 60 void DFS(int s, int num) {61 if (num == 4) {62 if (judge ()) tot++;63 return ;64 }65 for (int i=s+1; i<=n; ++i) {66 id[num+1] = i;67 DFS (i, num + 1);68 }69 }70 71 void work(void) {72 tot = 0;73 DFS (0, 0);74 printf ("%d\n", tot);75 }76 77 int main(void) { //BestCoder Round #50 (div.2) 1002 Run78 while (scanf ("%d", &n) == 1) {79 for (int i=1; i<=n; ++i) {80 scanf ("%d%d", &p[i].x, &p[i].y);81 }82 if (n < 3) {83 puts ("0"); continue;84 }85 work ();86 }87 88 return 0;89 }

 

转载于:https://www.cnblogs.com/Running-Time/p/4714533.html

你可能感兴趣的文章
(二)Spring Boot 起步入门(翻译自Spring Boot官方教程文档)1.5.9.RELEASE
查看>>
Shell基础之-正则表达式
查看>>
JavaScript异步之Generator、async、await
查看>>
讲讲吸顶效果与react-sticky
查看>>
c++面向对象的一些问题1 0
查看>>
售前工程师的成长---一个老员工的经验之谈
查看>>
Get到的优秀博客网址
查看>>
老男孩教育每日一题-第107天-简述你对***的理解,常见的有哪几种?
查看>>
Python学习--time
查看>>
在OSCHINA上的第一篇博文,以后好好学习吧
查看>>
Spring常用注解
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
Webpack 2 中一些常见的优化措施
查看>>
移动端响应式
查看>>
js中var、let、const的区别
查看>>
简洁优雅地实现夜间模式
查看>>