标签:des c style class blog code
Time Limit: 2000MS | Memory Limit: 65536K | |
Total Submissions: 6345 | Accepted: 2599 |
Description
Input
Output
Sample Input
2 2 5 10 1.0 1.0 2.0 2.0 100.0 100.0 20.0 20.0
Sample Output
1
Source
最大独立集:
1 //200K 47MS C++ 1200B 2014-06-10 07:43:56 2 #include<stdio.h> 3 #include<string.h> 4 #include<math.h> 5 #define N 105 6 struct node{ 7 double x,y; 8 }gopher[N],hole[N]; 9 int g[N][N]; 10 int match[N]; 11 int vis[N]; 12 int n,m; 13 double dist(node a,node b) 14 { 15 return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); 16 } 17 int dfs(int u) 18 { 19 for(int i=0;i<m;i++) 20 if(!vis[i] && g[u][i]){ 21 vis[i]=1; 22 if(match[i]==-1 || dfs(match[i])){ 23 match[i]=u; 24 return 1; 25 } 26 } 27 return 0; 28 } 29 int hungary() 30 { 31 int ret=0; 32 memset(match,-1,sizeof(match)); 33 for(int i=0;i<n;i++){ 34 memset(vis,0,sizeof(vis)); 35 ret+=dfs(i); 36 } 37 return ret; 38 } 39 int main(void) 40 { 41 double s,v; 42 while(scanf("%d%d%lf%lf",&n,&m,&s,&v)!=EOF) 43 { 44 for(int i=0;i<n;i++) 45 scanf("%lf%lf",&gopher[i].x,&gopher[i].y); 46 for(int i=0;i<m;i++) 47 scanf("%lf%lf",&hole[i].x,&hole[i].y); 48 memset(g,0,sizeof(g)); 49 for(int i=0;i<n;i++) 50 for(int j=0;j<m;j++) 51 if(dist(gopher[i],hole[j])/v<s) 52 g[i][j]=1; 53 printf("%d\n",n-hungary()); 54 } 55 return 0; 56 }
poj 2536 Gopher II (二分匹配),布布扣,bubuko.com
标签:des c style class blog code
原文地址:http://www.cnblogs.com/GO-NO-1/p/3779194.html