最后一个测试点没过是因为平均距离四舍五入输出了,题意是保留一位小数,样例却是四舍五入,被这个坑了好久。题目不难,以垃圾箱分布点作为源点分别跑一次迪杰斯特拉,然后比较就可以了。
#include<bits/stdc++.h>
using namespace std;
#define pii pair<int,int>
#define INF 0x3f3f3f3f
const int N = 1e5 + 10;
int n, m, k, ds, cnt, u, w, v;
int head[N], dis[N];
bool vis[N];
struct Node
{
int d;
double avg;
int id;
Node() {
}
Node(int a, double b, int c) :d(a), avg(b), id(c) {
}
bool operator<(const Node& a)const
{
if (this->d != a.d)
{
return this->d > a.d;
}
else