コード例 #1
0
bool cmp(MAP a, MAP b) {
    if (a.level != b.level)     return a.level > b.level;
    double da = dist(QPOS, a.getCenter()), db = dist(QPOS, b.getCenter());
    if (fabs(da - db) > eps)    return da < db;
    da = a.getRatio(), db = b.getRatio();
    if (fabs(da - db) > eps)    return da < db;
    da = dist(QPOS, make_pair(a.x2, a.y1));
    db = dist(QPOS, make_pair(b.x2, b.y1));
    if (fabs(da - db) > eps)    return da > db;
    return a.x1 < b.x1;
}