首页 > 其他分享 >PAT Basic 1082. 射击比赛

PAT Basic 1082. 射击比赛

时间:2023-04-11 12:56:46浏览次数:44  
标签:tempNorm PAT 1082 maxNorm int Basic tempId posX posY

PAT Basic 1082. 射击比赛

1. 题目描述:

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

2. 输入格式:

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

ID x y

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

3. 输出格式:

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

4. 输入样例:

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

5. 输出样例:

0233 0001

6. 性能要求:

Code Size Limit
16 KB
Time Limit
200 ms
Memory Limit
64 MB

思路:

考察基础IO,一开始想着要用库函数sqrt()计算二范数,后面发现直接用二范数的平方表示距离即可。这里坐标x,y的最大值为100,则二范数平方的最大值为\(10000+10000=20000\),int类型是存的下的。另外最后是先输出菜鸟的编号再输出冠军的编号。

My Code:

#include <stdio.h>
//#include <math.h> // sqrt header

//double get2Norm(int posX, int posY);
int getDistance(int posX, int posY);

int main(void)
{
    int athleteCount = 0;
    int i=0; // iterator
    int tempId=0, posX=0, posY=0;
    int championId=0, rookieId=0;
    //double maxNorm=0.0, minNorm=0.0;
    //double tempNorm = 0.0;
    int maxNorm=0, minNorm=0;
    int tempNorm = 0;
    
    scanf("%d", &athleteCount);
    scanf("%d%d%d", &tempId, &posX, &posY);
    
    tempNorm = getDistance(posX, posY);
    maxNorm = tempNorm;
    minNorm = tempNorm;
    championId = tempId;
    rookieId = tempId;
    
    for(i=1; i<athleteCount; ++i)
    {
        scanf("%d%d%d", &tempId, &posX, &posY);
        tempNorm = getDistance(posX, posY);
        if(tempNorm > maxNorm)
        {
            maxNorm = tempNorm;
            championId = tempId;
        }
        if(tempNorm < minNorm)
        {
            minNorm = tempNorm;
            rookieId = tempId;
        }
    }
    
    printf("%04d %04d\n", rookieId, championId);
    
    return 0;
}

int getDistance(int posX, int posY)
{
    return (posX*posX+ posY*posY);
}

// double get2Norm(int posX, int posY)
// {
//     return sqrt(posX*posX+posY*posY);
// }

标签:tempNorm,PAT,1082,maxNorm,int,Basic,tempId,posX,posY
From: https://www.cnblogs.com/tacticKing/p/17305864.html

相关文章

  • Springboot报错:Could not resolve view with name 'index' in servlet with name 'dis
    该异常是因为用定义了带@EnableWebMvc注解的配置类后发生的,在带该注解的配置类中加入下面的代码就可以了:@BeanpublicInternalResourceViewResolverviewResolver(){InternalResourceViewResolverviewResolver=newInternalResourceViewResolver();viewResolver.......
  • PAT Basic 1081. 检查密码
    PATBasic1081.检查密码1.题目描述:本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。2.输入格式:输入第一行给出一个正整数N(≤100),随后N......
  • 高性能 Jsonpath 框架,Snack3 3.2.65 发布
    高性能Jsonpath框架,Snack33.2.65发布来源:投稿作者: 梅子酒好吃2023-04-1014:18:00 0Snack3,一个高性能的JsonPath框架借鉴了Javascript所有变量由var申明,及Xmldom一切都是Node的设计。其下一切数据都以ONode表示,ONode也即Onenode之意,代......
  • @RequestParam和@PathVariable的用法与区别
    **@PathVariable**格式@RequestMapping(value="/user/{username}")publicStringuserProfile(@PathVariable(value="username")Stringusername){ return"user"+username;}在上面的例子中,当@Controller处理HTTP请求时,userProfile的参数......
  • PAT Basic 1080. MOOC期终成绩
    PATBasic1080.MOOC期终成绩1.题目描述:对于在中国大学MOOC(http://www.icourse163.org/)学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满分100)。总评成绩的计算公式为\(G=(G_{mid−term}×40\%+G_{final}×......
  • 利用 curl 发送 post/get/del/put/patch 请求 PHP
    因为需要在php开发中对接其它接口需要用phpcurl去对接其它接口我把他们封装成函数。这里面是封装好的会自动把data进行转成json格式,同时解码成php数组输出get请求:<?phpfunctiongeturl($url){$headerArray=array("Content-type:application/json;","Acc......
  • 【spring学习笔记】(二)Spring MVC注解配置 参数转换注解@RequestMapping@RequestParam
    @TOC介绍在SpringMVC项目中,<\context:component-scan>配置标签还会开启@Request-Mapping、@GetMapping等映射注解功能(也就是会注册RequestMappingHandler-Mapping和RequestMappingHandlerAdapter等请求映射和处理等组件),但是<context:component-scan>不支持数据转换或验证等注解功......
  • golang 编译碰到问题 Package python-2.7 was not found in the pkg-config search pa
    golang运行单测或者编译程序时提示需要配置PKG_CONFIG_PATH环境变量,原因是在程序里使用了go-python包,要求运行环境有python2.7,并设置PKG_CONFIG_PATH环境变量,解决方案如下:#pkg-config--cflags--python-2.7Packagepython-2.7wasnotfoundinthepkg-configsear......
  • Vue——patch.ts【十四】
    前言前面我们简单的了解了vue初始化时的一些大概的流程,这里我们扩展下Vue的patch。内容这一块主要围绕vue中的__patch__进行剖析。__patch__Vue.prototype.__patch__的方法位于scr/platforms/web/runtime/index.ts中;//installplatformpatchfunction//判断是......
  • Python DeprecationWarning: executable_path has been deprecated, please pass in a
    借鉴https://blog.csdn.net/lly1122334/article/details/106217320https://blog.csdn.net/qq_57377057/article/details/128463296https://blog.csdn.net/tangya3158613488/article/details/106902110 将之前谷歌浏览器的105版本替换为110版本解决Python:DeprecationWar......