• PAT Basic 1082 射击比赛 (20 分)


    本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。

    输入格式:

    输入在第一行中给出一个正整数 N(≤ 10 000)。随后 N 行,每行按下列格式给出:

    ID x y
    

    其中 ID 是运动员的编号(由 4 位数字组成);x 和 y 是其打出的弹洞的平面坐标(x,y),均为整数,且 0 ≤ |x|, |y≤ 100。题目保证每个运动员的编号不重复,且每人只打 1 枪。

    输出格式:

    输出冠军和菜鸟的编号,中间空 1 格。题目保证他们是唯一的。

    输入样例:

    3
    0001 5 7
    1020 -1 3
    0233 0 -1
    

    输出样例:

    0233 0001



    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    bool cmp(const pair<string,int>& p1,const pair<string,int>& p2){
        return p1.second<p2.second;
    }
    int main(){
        vector<pair<string,int>> v;
        int x,y;
        pair<string,int> p;
        int n;
        cin>>n;
        while(n--){
            cin>>p.first>>x>>y;
            p.second=x*x+y*y;
            v.push_back(p);
        }
        sort(v.begin(),v.end(),cmp);
        cout<<v[0].first<<" "<<v[v.size()-1].first;
        system("pause");
        return 0;
    }
  • 相关阅读:
    (第七周)评论alpha发布
    (第六周)工作总结
    (第六周)团队项目6
    (第六周)团队项目5
    (第六周)团队项目4
    (第六周)团队项目燃尽图
    (第六周)团队项目3
    (第六周)课上Scrum站立会议演示
    Java第二次作业第五题
    Java第二次作业第四题
  • 原文地址:https://www.cnblogs.com/littlepage/p/11618961.html
Copyright © 2020-2023  润新知