1082 射击比赛 (20 分)

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

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


输入格式:

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


ID x y

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


输出格式:

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


输入样例:

1. 3
2. 0001 5 7
3. 1020 -1 3
4. 0233 0 -1

结尾无空行

输出样例:

0233 0001

结尾无空行

我直接使用int来存放ID,然后用0来填充

直接上代码:


C语言:


#include <stdio.h>
int main() {
  int id, x, y;
  int nb = 20001, cai = -1, nbid = 0, caiid = 0;
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d%d%d", &id, &x, &y);
    if (x * x + y * y > cai) {
      cai = x * x + y * y;
      caiid = id;
    }
    if (x * x + y * y < nb) {
      nb = x * x + y * y;
      nbid = id;
    }
  }
  printf("%04d %04d", nbid, caiid);//0填充
  return 0;
}

C++:


#include <iostream>
using namespace std;
int main() {
  int id, x, y;
  int nb = 20001, cai = -1, nbid = 0, caiid = 0;
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> id >> x >> y;
    if (x * x + y * y > cai) {
      cai = x * x + y * y;
      caiid = id;
    }
    if (x * x + y * y < nb) {
      nb = x * x + y * y;
      nbid = id;
    }
  }
  printf("%04d %04d", nbid, caiid);//0填充
  return 0;
}


相关文章
|
1月前
7-35 情人节 (15 分)
7-35 情人节 (15 分)
25 0
L2-028 秀恩爱分得快 (25 分)
L2-028 秀恩爱分得快 (25 分)
123 0
|
10月前
【每日一道智力题】之海盗分金币(上)
【每日一道智力题】之海盗分金币(上)
115 0
PTA 1082 射击比赛 (20 分)
本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军
64 0
|
Java
Java锤子剪刀布大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
Java锤子剪刀布大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
142 0
|
Shell
一维数组实验题:大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选
一维数组实验题:大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选
422 0
外星人的一天 (15 分)
外星人的一天 (15 分)
193 0
|
存储
L2-028 秀恩爱分得快 (25 分)(模拟)
L2-028 秀恩爱分得快 (25 分)(模拟)
161 0
|
程序员
L1-045 宇宙无敌大招呼 (5 分)
L1-045 宇宙无敌大招呼 (5 分)
117 0
L1-035 情人节 (15 分)
L1-035 情人节 (15 分)
114 0
L1-035 情人节 (15 分)