hdu 2489 枚举m个点求最小生成树 2008 asia beijing regional contest
来源:互联网 发布:ubuntu如何共享文件夹 编辑:程序博客网 时间:2024/05/21 20:30
!A的感觉真是好,继续加油!
View Code
1 #include<stdio.h>
2 #include<string.h>
3 #include<math.h>
4 #include<algorithm>
5 using namespace std;
6 #define M 16
7 const double eps=1e-8;
8 int map[M][M];
9 const int inf = 1000000;
10 bool flag[M];
11 int D[M],nodes[M],w[M];
12 int n,m,rest[M];
13 double mi_ratio;
14 void prime()
15 {
16 int i,v,k,mi;
17 int ret=0;
18 for(i=1;i<=m;i++){
19 flag[nodes[i]]=0;
20 D[nodes[i]]=inf;
21 }D[nodes[1]]=0;flag[nodes[1]]=1;v=nodes[1];
22 for(k=1;k<m;k++){
23 for(i=1;i<=m;i++)if(!flag[nodes[i]]){
24 if(map[v][nodes[i]]<D[nodes[i]])
25 D[nodes[i]]=map[v][nodes[i]];
26 }
27 mi=inf;
28 for(i=1;i<=m;i++)
29 if(!flag[nodes[i]]&&D[nodes[i]]<mi)
30 mi=D[v=nodes[i]];
31 flag[v]=1;
32 ret+=mi;
33 }//printf(" ret=%d\n",ret);
34 int nodes_w=0;
35 for(i=1;i<=m;i++)
36 nodes_w+=w[nodes[i]];
37 if(ret*1.0/nodes_w<mi_ratio)
38 {
39 mi_ratio=ret*1.0/nodes_w;
40 for(i=1;i<=m;i++)
41 rest[i]=nodes[i];
42 }
43 }
44 void dfs(int dep,int now)
45 {
46 if(dep==m+1){
47 /* for(int i=1;i<=m;i++)
48 printf("hh=%d ",nodes[i]);
49 printf("\n");*/
50 prime(); return ;}
51 for(int i=now;i<=n;i++){
52 nodes[dep]=i;
53 dfs(dep+1,i+1);
54 }
55 }
56 int main()
57 {
58 int i,j,k;
59 while(scanf("%d%d",&n,&m),(n+m)){
60 for(i=1;i<=n;i++)
61 scanf("%d",&w[i]);
62 for(i=1;i<=n;i++)
63 for(j=1;j<=n;j++)
64 scanf("%d",&map[i][j]);
65 mi_ratio=inf;
66 dfs(1,1);
67 printf("%d",rest[1]);
68 for(i=2;i<=m;i++)
69 printf(" %d",rest[i]);
70 printf("\n");
71 }
72 return 0;
73 }
- hdu 2489 枚举m个点求最小生成树 2008 asia beijing regional contest
- 2014 Asia Beijing Regional Contest
- hdu 36832010 Asia Hangzhou Regional Contest Gomoku 模拟、枚举
- 2008 Asia Regional Beijing hdu 2485 destroying the bus station
- HDU 4087 三维坐标旋转(仿射变换) 矩阵加速 && 2011 Asia Beijing Regional Contest
- HDU 4082 Hou Yi's secret 伪相似三角形 && 2011 Asia Beijing Regional Contest
- HDU 4089 Activation(概率DP好题)——2011 Asia Beijing Regional Contest
- 2011 Asia Beijing Regional Online Contest-1005 hdu4044 GeoDefense
- 2011 Asia Beijing Regional Online Contest-1007 hdu4046 Panda
- 2011 Asia Beijing Regional Online Contest-1002 hdu4041 Eliminate Witches!
- 2011 Asia Beijing Regional Online Contest-1010 hdu4049 Tourism Planning
- 2011 Asia Beijing Regional Online Contest-1006 hdu4045 Machine scheduling
- 2011 Asia Beijing Regional Online Contest-1004 hdu4043 FXTZ II
- 2011 Asia Beijing Regional Online Contest-1005 hdu4044 GeoDefense-tjuqxy
- 2015 Asia BeiJing Regional Contest A. Xiongnu's Land(二分)
- HihoCoder 1249(2015 Asia Beijing Regional Contest)
- HihoCoder 1255(2015 Asia Beijing Regional Contest)
- HihoCoder 1257(2015 Asia Beijing Regional Contest)
- 四色定理。。zoj 1084 channel allocation
- poj 2478 3090法雷级数初体验。。。
- poj 1679 判断最小生成树是否唯一
- hdu 4005 边双联通
- poj 2349 最小生成树
- hdu 2489 枚举m个点求最小生成树 2008 asia beijing regional contest
- poj 2096 dp 求 期望
- hdu 3952 计算几何 暴力
- hdu 1507 二分匹配
- poj 2413 JAVA
- poj 3199 高精度 java
- poj 1001 java
- hdu 1509 优先队列
- zstu 2386 && 1910 poj 3071 概率DP