zoukankan      html  css  js  c++  java
  • 排序构造 GYM 101149 F

    题目链接:http://codeforces.com/gym/101149/my

    题目大意:给你n个人,他们有成绩a,b,c。一个人如果两门课比另外一个人高,那么这个人就比那个人厉害。问,是否存在一个人,他的成绩是垫底的?不存在就输出0。(这里保证所有人的成绩abc都是不相同的)

    思路:这题目现在,垫底的只有一个人,所以答案只有0和1。然后,我就躺了...不会...23333。

    然后看了别人的代码,sort一次就够了,果然是我智障TAT

    //看看会不会爆int!数组会不会少了一维!
    //取物问题一定要小心先手胜利的条件
    #include <bits/stdc++.h>
    using namespace std;
    #pragma comment(linker,"/STACK:102400000,102400000")
    #define LL long long
    #define ALL(a) a.begin(), a.end()
    #define pb push_back
    #define mk make_pair
    #define fi first
    #define se second
    #define haha printf("haha
    ")
    const int maxn = 2e5 + 5;
    struct Point{
        int a, b, c, id;
    }p[maxn];
    int n;
    
    bool cmp(Point x, Point y){
        int cnt = 0;
        if (x.a >= y.a) cnt++;
        if (x.b >= y.b) cnt++;
        if (x.c >= y.c) cnt++;
        return cnt < 2;
    }
    
    int main(){
        while (scanf("%d", &n) == 1){
            for (int i = 1; i <= n; i++){
                scanf("%d%d%d", &p[i].a, &p[i].b, &p[i].c);
                p[i].id = i;
            }
            sort(p + 1, p + 1 + n, cmp);
            bool flag = true;
            for (int i = 2; i <= n; i++){
                if (cmp(p[1], p[i]) == 0){
                    flag = false; break;
                }
            }
            if (flag) printf("1
    %d
    ", p[1].id);
            else printf("0
    ");
        }
        return 0;
    }
    View Code
  • 相关阅读:
    剑指 Offer 33. 二叉搜索树的后序遍历序列
    剑指 Offer 32
    OCR技术浅析-tesserOCR(3)
    OCR技术浅析-自写篇(2)
    OCR技术浅析-无代码篇(1)
    SVN服务器+客户端安装和配置
    Git命令集
    数组模拟队列与单调队列求解滑动窗口
    upper_bound与lower_bound
    图中连通块的划分
  • 原文地址:https://www.cnblogs.com/heimao5027/p/6813762.html
Copyright © 2011-2022 走看看