UVALive 6262 Darts

Description

Consider a game in which darts are thrown at a board. The board is formed by 10 circles with radii 20, 40, 60, 80, 100, 120, 140, 160, 180, and 200 (measured in millimeters), centered at the origin. Each throw is evaluated depending on where the dart hits the board. The score is p points (p {1, 2,..., 10}) if the smallest circle enclosing or passing through the hit point is the one with radius 20 . (11 - p). No points are awarded for a throw that misses the largest circle. Your task is to compute the total score of a series of n throws.

Input

The first line of the input contains the number of test cases T. The descriptions of the test cases follow:

Each test case starts with a line containing the number of throws n (1n106). Each of the next n lines contains two integers x and y (- 200x, y200) separated by a space -- the coordinates of the point hit by a throw.

Output

Print the answers to the test cases in the order in which they appear in the input. For each test case print a single line containing one integer -- the sum of the scores of all n throws.

Sample Input

1
5
32 -39
71 89
-60 80
0 0
196 89

Sample Output

29

 1 #include<iostream>
 2 #include<string.h>
 3 #include<stdio.h>
 4 #include<ctype.h>
 5 #include<algorithm>
 6 #include<stack>
 7 #include<queue>
 8 #include<set>
 9 #include<math.h>
10 #include<vector>
11 #include<map>
12 #include<deque>
13 #include<list>
14 using namespace std;
15 int d(int a,int b)
16 {
17     if(200*200<(pow(a,2)+pow(b,2)))
18     return 0;
19         if(180*180<(pow(a,2)+pow(b,2))&&(pow(a,2)+pow(b,2)))
20         return 1;
21         if(160*160<(pow(a,2)+pow(b,2))&&(pow(a,2)+pow(b,2)))
22         return 2;
23         if(140*140<(pow(a,2)+pow(b,2))&&(pow(a,2)+pow(b,2)))
24         return 3;
25         if(120*120<(pow(a,2)+pow(b,2))&&(pow(a,2)+pow(b,2)))
26         return 4;
27         if(100*100<(pow(a,2)+pow(b,2))&&(pow(a,2)+pow(b,2)))
28         return 5;
29         if(80*80<(pow(a,2)+pow(b,2))&&(pow(a,2)+pow(b,2)))
30         return 6;
31         if(60*60<(pow(a,2)+pow(b,2))&&(pow(a,2)+pow(b,2)))
32         return 7;
33         if(40*40<(pow(a,2)+pow(b,2))&&(pow(a,2)+pow(b,2)))
34         return 8;
35         if(20*20<(pow(a,2)+pow(b,2))&&(pow(a,2)+pow(b,2)))
36         return 9;
37         return 10;
38 }
39 int main()
40 {
41     int n;
42     cin>>n;
43     while(n--)
44     {
45         int m,ans=0;
46         cin>>m;
47         while(m--)
48         {
49         int a,b;
50         scanf("%d%d",&a,&b);
51         ans+=d(a,b);
52         }
53         printf("%d\n",ans);
54     }
55     return 0;
56 }

UVALive 6262 Darts

时间: 2024-10-18 00:13:09

UVALive 6262 Darts的相关文章

UVALive 4848 Tour Belt

F - Tour Belt Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UVALive 4848 Description Korea has many tourist attractions. One of them is an archipelago (Dadohae in Korean), a cluster of small islands sca

UVALive 6467 Strahler Order 拓扑排序

这题是今天下午BNU SUMMER TRAINING的C题 是队友给的解题思路,用拓扑排序然后就可以了 最后是3A 其中两次RE竟然是因为: scanf("%d",mm); ORZ 以后能用CIN还是CIN吧 QAQ 贴代码了: 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #include <math.h> 5 #include <iostre

UVALive 7077 Little Zu Chongzhi&#39;s Triangles (有序序列和三角形的关系)

这个题……我上来就给读错了,我以为最后是一个三角形,一条边可以由多个小棒组成,所以想到了状态压缩各种各样的东西,最后成功了……结果发现样例过不了,三条黑线就在我的脑袋上挂着,改正了以后我发现N非常小,想到了回溯每个棍的分组,最多分5组,结果发现超时了……最大是5^12 =  244,140,625,厉害呢…… 后来想贪心,首先想暴力出所有可能的组合,结果发现替换问题是一个难题……最后T T ,我就断片了.. 等看了别人的办法以后,我才发现我忽视了三角形的特性,和把数据排序以后的特点. 如果数据从

Gym 100299C &amp;&amp; UVaLive 6582 Magical GCD (暴力+数论)

题意:给出一个长度在 100 000 以内的正整数序列,大小不超过 10^ 12.求一个连续子序列,使得在所有的连续子序列中, 它们的GCD值乘以它们的长度最大. 析:暴力枚举右端点,然后在枚举左端点时,我们对gcd相同的只保留一个,那就是左端点最小的那个,只有这样才能保证是最大,然后删掉没用的. UVaLive上的数据有问题,比赛时怎么也交不过,后来去别的oj交就过了. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000&qu

UVALive 6511 Term Project

Term Project Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVALive. Original ID: 651164-bit integer IO format: %lld      Java class name: Main 解题:强连通分量 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int maxn = 1

UVALive 6508 Permutation Graphs

Permutation Graphs Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVALive. Original ID: 650864-bit integer IO format: %lld      Java class name: Main 解题:逆序数 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long l

UVALive 2659+HUST 1017+ZOJ 3209 (DLX

UVALive 2659 题目:16*16的数独.试了一发大白模板. /* * @author: Cwind */ //#pragma comment(linker, "/STACK:102400000,102400000") #include <iostream> #include <map> #include <algorithm> #include <cstdio> #include <cstring> #include

UVALive 5545 Glass Beads

Glass Beads Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVALive. Original ID: 554564-bit integer IO format: %lld      Java class name: Main Once upon a time there was a famous actress. As you may expect, she played mostly

UVALive 6145 Version Controlled IDE(可持久化treap、rope)

题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4156 题目拷贝难度大我就不复制了. 题目大意:维护一个字符串,要求支持插入.删除操作,还有输出第 i 次操作后的某个子串.强制在线. 思路1:使用可持久化treap可破,详细可见CLJ的<可持久化数据结构的研究>. 思路2:rope大法好,详见:http