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;
}
相关文章
|
6月前
|
搜索推荐 算法 C++
蓝桥杯分糖果、最小化战斗力差距、小蓝零花钱
这是一个关于算法问题的集合,包括三个不同的任务: 1. **分糖果**:肖恩有不同种类的糖果要分给学生,目标是使得到糖果字符串的字典序最大且尽量小。给定糖果种类数和一个初始字符串,输出能达到的最小字典序的最大值。 2. **最小化战斗力差距**:小蓝需要将队员分为两组,每组战斗力差距最小。给定队员数量和战斗力值,找出最小的战斗力差距。 3. **小蓝的零花钱**:小蓝要在序列中分割偶数和奇数,每次分割代价是两端元素差的绝对值。目标是在预算内确定最多能进行多少次这样的分割。 每个问题都提供了输入输出示例和相应的C++代码片段来解决这些问题。
|
6月前
1052 卖个萌 (20 分)//部分正确
1052 卖个萌 (20 分)//部分正确
|
7月前
7-35 情人节 (15 分)
7-35 情人节 (15 分)
62 0
L1-035 情人节 (15 分)
L1-035 情人节 (15 分)
139 0
L1-035 情人节 (15 分)
PTA 1082 射击比赛 (20 分)
本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军
99 0
|
Shell
一维数组实验题:大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选
一维数组实验题:大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选
524 0
|
程序员
L1-045 宇宙无敌大招呼 (5 分)
L1-045 宇宙无敌大招呼 (5 分)
144 0
外星人的一天 (15 分)
外星人的一天 (15 分)
236 0
L1-015 跟奥巴马一起画方块 (15 分)
L1-015 跟奥巴马一起画方块 (15 分)
290 0
h0140. 跑步锻炼 (10 分)
h0140. 跑步锻炼 (10 分)
81 0