zoukankan      html  css  js  c++  java
  • ACM 精挑细选

    精 挑 细 选

    时间限制:3000 ms  |  内存限制:65535 KB
    难度:1
     
    描述
    小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根钢管。这听起来不算什么,但是这根钢管的要求可真是让他犯难了,要求如下:
    1
     这根钢管一定要是仓库中最长的;
    2
     这根钢管一定要是最长的钢管中最细的;
    3
     这根钢管一定要是符合前两条的钢管中编码最大的(每根钢管都有一个互不相同的编码,越大表示生产日期越近)。
    相关的资料到是有,可是,手工从几百份钢管材料中选出符合要求的那根…… 
    要不,还是请你编写个程序来帮他解决这个问题吧。
     
    输入
    第一行是一个整数N(N<=10)表示测试数据的组数)
    每组测试数据的第一行 有一个整数m(m<=1000),表示仓库中所有钢管的数量,
    之后m行,每行三个整数,分别表示一根钢管的长度(以毫米为单位)、直径(以毫米为单位)和编码(一个9位整数)。
    输出
    对应每组测试数据的输出只有一个9位整数,表示选出的那根钢管的编码,
    每个输出占一行
    样例输入
    2
    2
    2000 30 123456789
    2000 20 987654321
    4
    3000 50 872198442
    3000 45 752498124
    2000 60 765128742
    3000 45 652278122
    样例输出
    987654321
    752498124
    #include <iostream>
    #include <algorithm>
    #include <vector>
    using namespace std;
    
    struct Steel{
        int length;
        int diameter;
        long id;
        bool operator<(const Steel& one) const{
            if(length != one.length) return length<one.length;
            else if(diameter != one.diameter) return diameter > one.diameter;
            else return id < one.id;
        }
    };
    
    int main(){
        int n;
        cin >> n;
        for (int icase = 0 ; icase < n; ++ icase) {
            int m;
            cin >> m;
            vector<Steel> steelVector(m);
            for (int i = 0; i < m;  ++ i) {
                cin >> steelVector[i].length >>steelVector[i].diameter >> steelVector[i].id;
            }
            sort(steelVector.begin(),steelVector.end());
            cout<<steelVector.rbegin()->id<<endl;
        }
    }
  • 相关阅读:
    程序员第一定律:关于技能与收入
    JS注册/移除事件处理程序
    关于程序猿,你不知道的15件事
    .NET后台输出js脚本的方法
    新项目经理必读:分析什么是项目经理
    项目如何开始:怎样和客户一起搞定需求
    【转】为什么程序员讨厌修改静态检查问题
    js的with语句使用方法
    软件版本号 详解
    PHP记忆碎片2投票汇总
  • 原文地址:https://www.cnblogs.com/xiongqiangcs/p/3640701.html
Copyright © 2011-2022 走看看