這個題一方面資料水,另一方面就是思維水,一拿到題就以為考最小生成樹。
因為這個題需要求各點間的距離,又因為豬圈的數目最大為600,所以根本就沒尋思考floyd,一方面思維,另一方面是水的後台,因為豬每天去固定的豬圈吃飯,所以求出每個豬到每個豬圈固定的距離便可。
wa(以為已經求出各點間的最短距離,只要豬圈沒豬便不會去)
反例3 4 3
1 2 1
1 3 1
1 4 1
#include #include#include
#include
#define n 1000001
using
namespace
std;
int map[602][602],dis[602],v[602
];int n,m,k,a[401
],v;
void
floy()}}
}}void
prim()
}v[k]=1
;
//printf("min==%d\n",min);
sum=sum+min;
for(int j=1; j<=m; j++)}}
printf(
"%d\n
",sum);
}int
main()
map[i][i]=0
; }
int b[1211
]; v=0
; memset(b,
0,sizeof
(b));
for(int i=1; i<=n; i++)
for(int i=1; i<=m; i++)
for(int i=1; i<=k; i++)
}floy();
/*for(int i=1;i<=m;i++)
printf("\n");
}*/for(int i=1; i<=k; i++)
if(sum==0
)
map[xx[i]][xx[i]]=0
; }
if(sum1==0
)
map[yy[i]][yy[i]]=0
; }
if(sum&&sum1)
}prim();
}return0;
}
ac的
#include #include#include
#include
#define n 1000001
using
namespace
std;
intn,m,k;
int a[351],map[601][601
];void
floy()}}
}}int
main()
map[i][i]=0
; }
while(k--)
}floy();
int min=n;
intsum;
for(int i=1; i<=m; i++)
if(min>sum)
min=sum;
}printf(
"%d\n
",min);
return0;
}
人活著系列之芳姐和芳姐的豬
time limit 1000ms memory limit 65536k 有疑問?點這裡 芳姐特別喜歡豬,所以,她特意養了m 個豬圈,順便在k 條無向邊,每條邊有都有起點v 距離.芳姐和豬們約定好,每天去乙個固定豬圈去吃飯,芳姐為了不累著她可愛的豬們,想知道所有的豬吃飯走的最短路程是多少?第一行 ...
人活著系列之芳姐和芳姐的豬
time limit 1000ms memory limit 65536kb problem description 百年來,人活著是為了什麼這個問題一直縈繞在人的腦海裡,也一直困擾著人的思想。人活著就是活著了,為活著本身而活著,而不是為活著之外的任何事物而活著的。正因為活著,所以活著。對,是有點莫...
sdutacm 人活著系列之芳姐和芳姐的豬
sdutacm 人活著系列之芳姐和芳姐的豬 time limit 1000ms memorylimit 65536kb submit statistic problemdescription 百年來,人活著是為了什麼這個問題一直縈繞在人的腦海裡,也一直困擾著人的思想。人活著就是活著了,為活著本身而活...