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;
}


相关文章
|
5月前
【天梯赛】L1-095 分寝室
输出的方案对应女生都是 24/4=6 人间、男生都是 60/6=10 人间,人数差为 4。满足前三项要求的分配方案还有两种,即女生 6 间(都是 4 人间)、男生 4 间(都是 15 人间);同时,每间女寝人数必须都一样,每间男寝人数必须都一样,也就是女生总人数对女寝数取模为0,男生总人数对男寝数取模为0。输入在一行中给出 3 个正整数 n0​、n1​、n,分别对应女生人数、男生人数、寝室数。按题意模拟,因为知道总寝室数为n,所以可以从1~n-1暴力枚举女寝 i 的数量,那么男寝的数量则为 c-i。
85 6
|
6月前
1082 射击比赛 (20 分)
1082 射击比赛 (20 分)
|
7月前
7-35 情人节 (15 分)
7-35 情人节 (15 分)
60 0
【每日一道智力题】之海盗分金币(上)
【每日一道智力题】之海盗分金币(上)
274 0
L1-035 情人节 (15 分)
L1-035 情人节 (15 分)
138 0
L1-035 情人节 (15 分)
PTA 1082 射击比赛 (20 分)
本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军
98 0
|
Java
Java锤子剪刀布大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
Java锤子剪刀布大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
162 0
|
Shell
一维数组实验题:大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选
一维数组实验题:大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选
522 0
外星人的一天 (15 分)
外星人的一天 (15 分)
234 0
h0140. 跑步锻炼 (10 分)
h0140. 跑步锻炼 (10 分)
79 0