HDOJ 4739 - Zhuge Liang's Mines 暴力DFS
来源:互联网 发布:ubuntu aptitude 编辑:程序博客网 时间:2024/06/08 14:43
题意:
给了N个点(N<=20)..问最多能组成多少个正方形(要求边平行与坐标轴)
题解:
直接暴力DFS就行了..每次确定一个正方形.再深入..更新答案..
Program:
#include<iostream>#include<stack>#include<queue>#include<stdio.h>#include<algorithm>#include<string.h>#include<cmath>#define ll long long#define oo 1000000007#define eps 1e-5#define MAXN 3005#define MAXM 3000005using namespace std; struct node{ int x,y;}P[32]; bool used[32];int num,ans,n;void dfs(int i){ int j,k,h,w1,w2; ans=max(ans,num); for (;i<n;i++) { if (used[i]) continue; used[i]=true; for (j=i+1;j<n;j++) { if (used[j] || P[i].y==P[j].y || P[i].x!=P[j].x) continue; used[j]=true; h=abs(P[i].y-P[j].y),w1=-1; for (w1=0;w1<n;w1++) if (P[w1].x==P[i].x+h && P[w1].y==P[i].y && !used[w1]) break; if (w1==n) { used[j]=false; continue; } used[w1]=true; for (w2=0;w2<n;w2++) if (P[w2].x==P[j].x+h && P[w2].y==P[j].y && !used[w2]) break; if (w2==n){ used[j]=used[w1]=false; continue; } used[w2]=true; num+=4; dfs(i+1); used[j]=used[w1]=used[w2]=false; num-=4; } used[i]=false; } return;}int main(){ int i; while (~scanf("%d",&n) && n!=-1) { for (i=0;i<n;i++) scanf("%d%d",&P[i].x,&P[i].y); ans=num=0,memset(used,false,sizeof(used)); dfs(0); printf("%d\n",ans); } return 0;}
- HDOJ 4739 - Zhuge Liang's Mines 暴力DFS
- vector dfs 4739 Zhuge Liang's Mines
- HDU 4739 Zhuge Liang's Mines 暴力 or 状压.
- HDOJ 4739 Zhuge Liang&#39;s Mines
- hdu 4739 Zhuge Liang's Mines (简单dfs)
- hdu 4739 Zhuge Liang's Mines
- HDU 4739 Zhuge Liang's Mines
- HDU 4739 Zhuge Liang's Mines
- HDU 4739 Zhuge Liang's Mines
- hdu 4739 Zhuge Liang's Mines
- HDU 4739 Zhuge Liang's Mines
- hdu 4739 Zhuge Liang's Mines
- hdu 4739 - Zhuge Liang's Mines
- HDU 4739 Zhuge Liang's Mines
- hdu 4739 Zhuge Liang's Mines 搜索
- HDU 4739 Zhuge Liang's Mines
- HDU 4739 Zhuge Liang's Mines
- hdu 4739Zhuge Liang's Mines(简单dfs,需要注意重点)
- debian locale: Cannot set LC_CTYPE to default locale: No such file or directory
- 黑马程序员--接口
- LeetCode | Search for a Range
- 虚函数与多态性,纯虚函数
- 组播简述
- HDOJ 4739 - Zhuge Liang's Mines 暴力DFS
- 无
- 正则表达式
- 一致性Hash算法背景(转)
- mysql 中文乱码
- C++如何处理内联虚函数
- java 提高程序性能应做到的事
- hdu 4739 Zhuge Liang's Mines (简单dfs)
- LeetCode | Search Insert Position