HDU 4739 Zhuge Liang's Mines (2013 ACM/ICPC Asia Regional Hangzhou Online)
2013-09-15 22:42
537 查看
//由于构成的正方形的边要平行于坐标轴 当点数为25时正方形最多为30个 而题目n<=20说明正方形最多不超过30 先暴力出所有正方形,接着暴力搜下就可以。
#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<cmath>#define max(x,y) ((x)>(y)?(x):(y))using namespace std;struct Tpoint{int x, y;void in(){scanf("%d%d", &x, &y);}} p[30];Tpoint operator-(Tpoint a, Tpoint b){Tpoint ret;ret.x = a.x - b.x;ret.y = a.y - b.y;return ret;}int dis(Tpoint a, Tpoint b){return ((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));}int dot(Tpoint a, Tpoint b){return a.x * b.x + a.y * b.y;}int cross(Tpoint a, Tpoint b){return a.x * b.y - a.y * b.x;}int a[10100];bool check(Tpoint a, Tpoint b, Tpoint c, Tpoint d){if (dis(a, b) != dis(b, c) || dis(b, c) != dis(c, d) || dis(c, d) != dis(d,a))return false;if (a.y == b.y && b.x == c.x && c.y == d.y && d.x == a.x)return true;return false;}int tail,ans;void gao(int now,int num){if(now==6)return;ans=max(now*4,ans);int i;for(i=0;i<tail;i++){if((num&a[i])==0)gao(now+1,num|a[i]);}}int main(){int i, j, k, n, m, l;while (scanf("%d", &n) && n != -1){ans=0;tail = 0;for (i = 0; i < n; i++)p[i].in();for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (i == j)continue;for (k = 0; k < n; k++){if (j == k || i == k)continue;for (l = 0; l < n; l++){if (i == l || j == l || k == l)continue;if (check(p[i], p[j], p[k], p[l]))a[tail++] = ((1 << i) + (1 << j) + (1 << k) + (1<< l));}}}}gao(0,0);printf("%d\n",ans);}}
相关文章推荐
- hdu 4739 Zhuge Liang's Mines 2013 ACM/ICPC Asia Regional Hangzhou Online
- HDU 4744 Starloop System(最小费用最大流)(2013 ACM/ICPC Asia Regional Hangzhou Online)
- HDU 4745 Two Rabbits(最长回文子序列)(2013 ACM/ICPC Asia Regional Hangzhou Online)
- hdu 4738 Caocao's Bridges 2013 ACM/ICPC Asia Regional Hangzhou Online tarjan 模板
- HDU 2013 ACM/ICPC Asia Regional Hangzhou Online ------ Zhuge Liang's Mines
- hdu 4740 The Donkey of Gui Zhou 深搜(2013 ACM/ICPC Asia Regional Hangzhou Online 1003)
- hdu 4745 Two Rabbits 2013 ACM/ICPC Asia Regional Hangzhou Online
- HDU 4747 Mex(线段树)(2013 ACM/ICPC Asia Regional Hangzhou Online)
- 2013 ACM/ICPC Asia Regional Hangzhou Online 个人总结
- hdu 4731 Minimum palindrome 找规律 (2013 ACM/ICPC Asia Regional Chengdu Online 1004)
- HDU 4749 Parade Show 2013 ACM/ICPC Asia Regional Nanjing Online
- hdu 4737 A Bit Fun || 2013 ACM/ICPC Asia Regional Chengdu Online || 简单题
- HDU4722——Good Numbers——2013 ACM/ICPC Asia Regional Online —— Warmup2
- hdu 4734 F(x) 数位dp (2013 ACM/ICPC Asia Regional Chengdu Online 1007)
- HDU 4731 Minimum palindrome 找规律 (2013 ACM/ICPC Asia Regional Chengdu Online 1004)
- hdu 4734 F(x)2013 ACM/ICPC Asia Regional Chengdu Online
- hdu 4722 Good Numbers 数位dp(2013 ACM/ICPC Asia Regional Online —— Warmup2 1007)
- HDU 4722 Good Numbers(位数DP)(2013 ACM/ICPC Asia Regional Online ―― Warmup2)
- hdu 2013 ACM/ICPC Asia Regional Online —— Warmup2解题报告
- HDU4745——Two Rabbits——2013 ACM/ICPC Asia Regional Hangzhou Online