题解 | 坠落的蚂蚁

坠落的蚂蚁

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

#include <iostream>
#include<algorithm>
#include <vector>

using namespace std;


int main() {
    int N;
    int arr[100][2];
    while (scanf("%d", &N) != EOF) { // 注意 while 处理多个 case

        int posA = -1;
        for (int i = 0; i < N; i++) {
            scanf("%d %d", &arr[i][0], &arr[i][1]);
            if (arr[i][1] == 0)posA = arr[i][0];
        }
        vector<int>vec1;
        vector<int>vec2;

        for (int i = 0; i < N; i++) {
            if (arr[i][0] < posA && arr[i][1] == 1) {
                //记录A左边且向右跑的蚂蚁数目
                vec1.push_back(arr[i][0]);
            }
            if (arr[i][0] > posA && arr[i][1] == -1) {
                //记录A右边且向左跑的蚂蚁数目
                vec2.push_back(arr[i][0]);
            }
        }
        sort(vec1.begin(), vec1.end());
        sort(vec2.begin(), vec2.end());
        if (vec1.size() == vec2.size())printf("Cannot fall!\n");
        else if (vec1.size() > vec2.size()) {
            printf("%d\n", 100 - vec1[vec1.size() - vec2.size() - 1]);
        } else {
            printf("%d\n", vec2[vec1.size()]);
        }

    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

2024-12-30 22:31
吉首大学 Web前端
工字钢写代码:改成吉林就OK了
点赞 评论 收藏
分享
小狗吃臭臭:以后用不到你设计的手机了,可惜!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务