题解 | 坠落的蚂蚁

坠落的蚂蚁

https://www.nowcoder.com/practice/fdd6698014c340178a8b1f28ea5fadf8

#include<iostream>
#include<vector>
#include<cstring>
#include<algorithm>
using namespace std;
typedef pair<int, int> PII;//这样的话方便很多
#define x first//这样的话是为了在访问pair时更加方便
#define y second
//bool compare(vector<int>),这又是经典的错误,你要看sort是对什么元素进行的,很明显进行排序的元素是PII
//bool coutcompare(const PII& A, const PII& B) {
//  //自定义比较函数除了要返回false还必须返回true,所以习惯写成return A.x > B.x这样true和false都会返回
//  if (A.x > B.x)return true;
//}
bool coutcompare(const PII& A, const PII& B) {
    //自定义比较函数除了要返回false还必须返回true,所以习惯写成return A.x > B.x这样true和false都会返回
    return A.x > B.x;
}
int main() {
    int n;
    cin >> n;
    //vector<pair> ants;这样是不行的,因为pair也是要指明,两个元素分别是什么
    vector<PII> ants;
    int A;//记录静止的蚂蚁的位置
    for (int i = 0; i < n; i++) {
        int pos, speed;
        cin >> pos >> speed;
        if (!speed)A = pos;
        ants.push_back({ pos, speed });
    }
    sort(ants.begin(), ants.end(), coutcompare);
    vector<int>l, r;
    for (vector<PII>::iterator it = ants.begin(); it != ants.end(); it++) {
        if (it->x > A && it->y < 0)r.push_back(it->x);
        else if (it->x < A && it->y > 0)l.push_back(it->x);
    }
    //易错,因为并不是最左边那个蚂蚁走的距离就是最终的时间,而是把右边的蚂蚁抵消之后的第一只蚂蚁走的距离
    if (l.size() == r.size())cout << "Cannot fall!" ;
    if (l.size() > r.size())cout << 100 - l[r.size()];
    if (l.size() < r.size())cout << r[r.size() - l.size() - 1];
}

全部评论

相关推荐

02-18 13:28
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 一张图晒出你司的标语 #
4274次浏览 75人参与
# AI面会问哪些问题? #
27625次浏览 552人参与
# 米连集团26产品管培生项目 #
13327次浏览 285人参与
# 你的实习产出是真实的还是包装的? #
20103次浏览 342人参与
# 找AI工作可以去哪些公司? #
9011次浏览 233人参与
# 春招至今,你的战绩如何? #
64714次浏览 578人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
15162次浏览 221人参与
# 从事AI岗需要掌握哪些技术栈? #
8860次浏览 302人参与
# 你做过最难的笔试是哪家公司 #
33267次浏览 231人参与
# 中国电信笔试 #
31977次浏览 292人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
340747次浏览 2174人参与
# 哪些公司真双非友好? #
69570次浏览 289人参与
# 阿里笔试 #
178475次浏览 1315人参与
# 机械人避雷的岗位/公司 #
62698次浏览 393人参与
# 第一份工作一定要去大厂吗 #
14491次浏览 122人参与
# 金三银四,你的春招进行到哪个阶段了? #
22065次浏览 280人参与
# 为了减少AI幻觉,你注入过哪些设定? #
26245次浏览 310人参与
# 沪漂/北漂你觉得哪个更苦? #
9797次浏览 193人参与
# HR最不可信的一句话是__ #
6195次浏览 113人参与
# 应届生第一份工资要多少合适 #
20674次浏览 86人参与
# AI时代,哪个岗位还有“活路” #
11470次浏览 341人参与
# 春招你拿到offer了吗 #
831151次浏览 9986人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务