4063: [Cerc2012]Darts
时间:2022-05-08
本文章向大家介绍4063: [Cerc2012]Darts,主要内容包括4063: [Cerc2012]Darts、Description、Input、Output、Sample Input、Sample Output、HINT、Source、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
4063: [Cerc2012]Darts
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 85 Solved: 53
Description
考虑一个扔飞镖的游戏。板子由十个环组成,半径分别为20, 40, 60, 80, 100, 120, 140, 160, 180和200(单位:mm),均以原点为中心。每次投掷的得分取决于飞镖所击中的位置。如果包含飞镖的最小环(可以在圆上)的半径是20 * (11 - p),则得分是p。不在最外环以内的点不得分。你的任务是计算n次投掷之后的得分。
Input
第一行一个正整数T,表示有T组数据。
每组数据第一行一个正整数n,表示有n次投掷,1 <= n <= 10^6。
接下来n行,每行两个整数x和y,表示一次投掷击中的位置为(x, y),-200 <= x, y <= 200。
Output
对于每组数据输出一行,即n次投掷得分的总和。
Sample Input
1 5 32 -39 71 89 -60 80 0 0 196 89
Sample Output
29
HINT
Source
题解:其实是道水题= =,不过我由于担心卡精度,所以还是全部不开方,之后一个个判断,然后居然还A掉了= =
AC程序如下
1 /**************************************************************
2 Problem: 4063
3 User: HansBug
4 Language: Pascal
5 Result: Accepted
6 Time:1372 ms
7 Memory:224 kb
8 ****************************************************************/
9
10 var i,j,k,l,m,n,ans:longint;
11 function doit(x,y:longint):longint;
12 var z,i:longint;
13 begin
14 doit:=0;z:=x*x+y*y;
15 for i:=10 downto 1 do if z<=(400*(11-i)*(11-i)) then exit(i)
16 end;
17 begin
18 readln(m);
19 for i:=1 to m do
20 begin
21 readln(n);ans:=0;
22 for j:=1 to n do
23 begin
24 readln(k,l);
25 inc(ans,doit(k,l));
26 end;
27 writeln(ans);
28 end;
29 end.
但是按照我原来思路的程序却狂WA不止,求神犇解释orz:
1 /**************************************************************
2 Problem: 4063
3 User: HansBug
4 Language: Pascal
5 Result: Wrong_Answer
6 ****************************************************************/
7 var i,j,k,l,m,n,ans:longint;
8 function doit(x,y:longint):longint;
9 begin
10 doit:=(10-(trunc(sqrt(sqr(x)+sqr(y)))-1) div 20);
11 if doit<0 then doit:=0;
12 end;
13 begin
14 readln(m);
15 for i:=1 to m do
16 begin
17 readln(n);ans:=0;
18 for j:=1 to n do
19 begin
20 readln(k,l);
21 inc(ans,doit(k,l));
22 end;
23 writeln(ans);
24 end;
25 end.
- 【Go 语言社区】go 学习中遇到一些语法问题
- Elasticsearch全文检索实战小结——复盘我带的第二个项目
- 当12C PDB遇上JDBC (r10笔记第59天)
- 微信公众平台开发获取用户基本信息--转
- Elasticsearch检索分类深入详解—基础篇
- 通过Java程序测试数据库连接信息 (r10笔记第64天)
- GoldenGate安装简记(r10笔记第78天)
- 【Go 语言社区】各种变量的声明
- 【Go 语言社区】Golang 高效字符串拼接
- 实战 | Elasticsearch实现类Google高级检索
- Golang中time包用法--转
- 干货 | Elasticsearch 集群健康值红色终极解决方案
- Go语言interface的value.(type)使用小技巧-转
- 干货 | Elasticsearch5.X Mapping万能模板
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 弄它!!! 深入了解STP生成树协议
- kali linux下的常用bash命令
- shell脚本快速入门之-----linux设置 自定义脚本开机启动,一键式部署网卡配置文件
- jdbc连接oracle语法
- java实现数据库连接的工具类
- shell脚本快速入门之-----正则三剑客之一grep用法大全!!!
- 【网页特效】11 个文本输入和 6 个按钮操作 特效库
- shell脚本快速入门之-----正则三剑客之二sed用法大全!!!
- JSP中的Cookie
- 傅里叶变换
- shell脚本快速入门之-----shell脚本练习100例!!!
- java监听器
- shell脚本快速入门之-----函数
- shell脚本快速入门之-----循环(for、while、until)
- ThreadPoolExecutor系列三——ThreadPoolExecutor 源码解析