PAT B1082 射击比赛(C++)

PAT甲级目录 | PAT乙级目录

题目描述

B1082 射击比赛

解题思路

在输入数据的同时更新当前“冠军/菜鸟”的射击距离和id,遍历结束答案就出来了。可以直接使用距离的平方作为长度,省去类型转换的麻烦。

易错点

  • 输出的 id 为四位数字

代码示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdio>
int main(){
int N, id_win, len_win = 10000, id_lose, len_lose = 0;
scanf("%d", &N);
for(int i = 0; i < N; i++){
int id, x, y, len;
scanf("%d %d %d", &id, &x, &y);
len = x * x + y * y;
if(len > len_lose){
len_lose = len;
id_lose = id;
}
if(len < len_win){
len_win = len;
id_win = id;
}
}
printf("%04d %04d\n", id_win, id_lose);
}