hdu 5365 Run 枚举
2015-08-10 15:52
281 查看
RunTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 839 Accepted Submission(s): 361 Problem Description AFA is a girl who like runing.Today,he download an app about runing .The app can record the trace of her runing.AFA will start runing in the park.There are many chairs in the park,and AFA will start his runing in a chair and end in this chair.Between two chairs,she running in a line.she want the the trace can be a regular triangle or a square or a regular pentagon or a regular hexagon. Please tell her how many ways can her find. Two ways are same if the set of chair that they contains are same. Input There are multiply case. In each case,there is a integer n(1 < = n < = 20)in a line. In next n lines,there are two integers xi,yi(0 < = xi,yi < 9) in each line. Output Output the number of ways. Sample Input 4 0 0 0 1 1 0 1 1 Sample Output 1 Source BestCoder Round #50 (div.2) |
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<vector> #include<cstdio> using namespace std; struct Point{ int x,y; Point(int _x=0,int _y=0):x(_x),y(_y){} }; Point operator - (Point a,Point b){ return Point(a.x-b.x,a.y-b.y); } int len(Point a){ return a.x*a.x+a.y*a.y; } Point p[21]; vector<Point> po; int ans; int n; vector<int> e; void dfs(int q,int num){ if(num == 4){ e.clear(); for(int i = 0;i < 4; i++){ for(int j = i+1;j < 4;j ++){ e.push_back(len(po[i]-po[j])); } } sort(e.begin(),e.end()); if(e[0] == e[1] && e[1] == e[2] && e[2] == e[3] && e[4] == 2*e[1] && e[5] == 2*e[1]) ans += 1; return ; } for(int i = q;i < n; i++){ po.push_back(p[i]); dfs(i+1,num+1); po.pop_back(); } } int main(){ while(scanf("%d",&n)!=EOF){ for(int i = 0;i < n; i++) scanf("%d%d",&p[i].x,&p[i].y); ans = 0; dfs(0,0); int res = 0; printf("%d\n",ans); } return 0; }
相关文章推荐
- Java Swing 第01记 Hello Word
- 获取keystore Sha1值
- Android(java)学习笔记147:textView 添加超链接(两种实现方式,,区别于WebView)
- (4.1.1.2)菜单创建函数:onPrepareOptionsMenu 和onCreateOptionsMenu 的区别
- Executor的理解与使用
- poj 2478 Farey Sequence 线性筛法优化的欧拉函数
- 利用angular 在play&scala中实现ajax
- nyoj62 笨小熊
- 苹果企业账号打包发布APP流程详解
- php截取指定字符串之间的字符串的类
- 弹药科技 解题报告
- weblogic 10.3.5重置密码
- 如何清除图片下方出现几像素的空白间隙?
- Linux安装VMWare虚拟机(Kali)
- tcp状态
- Oracle CASE WHEN 用法介绍
- CRLF注入详解 (HTTP响应头拆分)学习笔记(一)
- dfs去重(剪枝)
- 百度地图定位当前并且加上方向传感器
- 大讲台谈hive(后篇二)