1082 射击比赛 (20 分)

简介: 1082 射击比赛 (20 分)

1082 射击比赛 (20 分)

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

输入格式:

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

ID x y

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

输出格式:


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

输入样例:

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

输出样例:

0233 0001

#include<iostream>
#include<string>
using namespace std;
int main()
{
  struct shot {
    string ID;
    int x;
    int y;
  };
  int n;
  cin >> n;
  shot t;
  cin >> t.ID >> t.x >> t.y;
  shot a = t, b = t;
  for (int i = 1; i < n; i++) {
    cin >> t.ID >> t.x >> t.y;
    if ((t.x*t.x + t.y*t.y) < (a.x*a.x + a.y*a.y))
      a = t;
    if ((t.x*t.x + t.y*t.y) > (b.x*b.x + b.y*b.y))
      b = t;
  }
  cout << a.ID << " " << b.ID;
  return 0;
}
相关文章
|
1月前
7-35 情人节 (15 分)
7-35 情人节 (15 分)
31 0
【每日一道智力题】之海盗分金币(上)
【每日一道智力题】之海盗分金币(上)
128 0
PTA 1082 射击比赛 (20 分)
本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军
72 0
L1-035 情人节 (15 分)
L1-035 情人节 (15 分)
121 0
L1-035 情人节 (15 分)
|
Java
Java锤子剪刀布大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
Java锤子剪刀布大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
146 0
|
Shell
一维数组实验题:大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选
一维数组实验题:大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选
470 0
h0140. 跑步锻炼 (10 分)
h0140. 跑步锻炼 (10 分)
60 0
外星人的一天 (15 分)
外星人的一天 (15 分)
202 0
|
程序员
L1-045 宇宙无敌大招呼 (5 分)
L1-045 宇宙无敌大招呼 (5 分)
123 0
|
存储 算法 容器
天梯赛二阶题——L2-015 互评成绩(25 分)
学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。
335 0
天梯赛二阶题——L2-015 互评成绩(25 分)