赞
踩
题意:有n个点,其中有些点是白点,有些点是黑点,问你能不能找至少m个黑点,使得它们之间最远距离最小。
题解:由于数据范围很小,100,所以我们可以暴力。先用floyd预处理出每两个点之间的距离,然后枚举每两个黑点的距离dis[i][j],把那个距离看成最远距离,看是否能有至少m个黑点它们之间的距离小于dis[i][j],如果有,就更新ans。
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn = 105; const int INF = 0x3f3f3f3f; int dis[maxn][maxn]; int vis[maxn]; int main() { int n,m; scanf("%d%d",&n,&m); for(int i=1; i<=n; i++) { for
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。