uva live 7635 National Bomb Defusing Squad
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5657
题意:
有n个人,每一个人都可能携带boom,给出你这些人的位置x, y。 q次询问, 每次给你一个R(爆炸范围),求能炸到多少个人的期望。
题解:
A到B的距离与B到A的距离相同,我们只需要将每2个人的距离算出来,排序,每给出一个R ,就找小于R 的数量 * 2 , 最后还要加上自己死亡 n 。
记得case完要空行
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <string> 5 #include <algorithm> 6 #include <cmath> 7 #include <vector> 8 #include <queue> 9 #include <map> 10 #include <stack> 11 #include <set> 12 using namespace std; 13 typedef long long LL; 14 typedef unsigned long long uLL; 15 #define ms(a, b) memset(a, b, sizeof(a)) 16 #define pb push_back 17 #define mp make_pair 18 #define eps 0.0000000001 19 #define IOS ios::sync_with_stdio(0);cin.tie(0); 20 const LL INF = 0x3f3f3f3f3f3f3f3f; 21 const int inf = 0x3f3f3f3f; 22 const int mod = 1e9+7; 23 const int maxn = 3000+10; 24 int x[maxn], y[maxn]; 25 int dis[maxn*maxn]; 26 int n, q, r; 27 int cul(int i, int j) 28 { 29 return (y[j]-y[i])*(y[j]-y[i])+(x[j]-x[i])*(x[j]-x[i]); 30 } 31 void solve() 32 { 33 int cnt = 0; 34 for(int i = 0;i<n;i++) scanf("%d%d", &x[i], &y[i]); 35 for(int i = 0;i+1<n;i++){ 36 for(int j = i+1;j<n;j++){ 37 dis[cnt++] = cul(i, j); 38 } 39 } 40 sort(dis, dis+cnt); 41 int ans; 42 while(q--){ 43 scanf("%d", &r); 44 int pos = upper_bound(dis, dis+cnt, r*r) - dis; 45 ans = 0; 46 ans += 2*pos; 47 ans += n; 48 printf("%.2f\n", (double)ans/(double)n); 49 } 50 printf("\n"); 51 } 52 int main() { 53 #ifdef LOCAL 54 freopen("input.txt", "r", stdin); 55 // freopen("output.txt", "w", stdout); 56 #endif 57 // IOS 58 while(~scanf("%d%d", &n, &q)&&n+q){ 59 solve(); 60 } 61 return 0; 62 }
View Code
uva的评测机很慢,居然不能用二维来算,然后排序, 有点卡常。
转载于:https://www.cnblogs.com/denghaiquan/p/7287996.html
uva live 7635 National Bomb Defusing Squad相关推荐
- ICS lab2: Defusing a Binary Bomb
ICS lab2: Defusing a Binary Bomb lab2的要求 工具准备:GDB,objdump GDB:Gnu DeBugger objdump:OBJect-file DUMP ...
- uva 11183 Teen Girl Squad
题意: 有一个女孩,需要打电话让所有的人知道一个消息,消息可以被每一个知道消息的人传递. 打电话的关系是单向的,每一次电话需要一定的花费. 求出打电话最少的花费或者判断不可能让所有人知道消息. 思路: ...
- 【UVA 11183】 Teen Girl Squad (定根MDST)
[题意] 输入三元组(X,Y,C),有向图,定根0,输出MDST. Input The first line of input gives the number of cases, N (N < ...
- UVA 1494 - Qin Shi Huang's National Road System(次小生成树)
题目链接:点击打开链接 题意:n个城市,需要修建一些道路使得任意两个城市联通,还可以修一条魔法道路, 不花钱, 设魔法路连接的城市的人口之和为A, 所有道路总长为B, 求A/B的最大值. 思路: 次小 ...
- CSAPP实验记录(2)--------- Bomb
实验简介 本实验需要拆除一个"二进制炸弹","二进制炸弹"是一个可执行目标程序.运行时,它会提示用户键入6个不同的字符串.如果其中任何一个错误,炸弹就会&quo ...
- 【UVA】 133 --- The Dole Queue
[UVA] 133 --- The Dole Queue In a serious attempt to downsize (reduce) the dole queue, The New Natio ...
- CSAPP实验之Bomb Lab详解
前言 Bomb Lab来自<深入理解计算机系统>(CSAPP)一书的第三章"程序的机器级表示"的配套实验,该实验的目的是通过反汇编可执行程序,来反推出程序执行内容,进而 ...
- [搜索]UVa 129 困难的串
题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...
- uva 401.Palindromes
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
最新文章
- 【java 性能优化实战】1 理论分析:性能优化,有哪些衡量指标、性能优化的技术手段
- 研究Mysql优化得出一些建设性的方案
- 2009年5月14日
- java Date 转mysql timestamp 秒数不一致
- 手机内存8+128与6+256价格相同,你会选哪个?
- MongoDB需要慎用local、admin数据库
- js限制文本框只能输入数字方法小结(转)
- Silverlight 2.5D RPG游戏技巧与特效处理:纸娃娃系统
- AD15使用出现的小问题
- Vue——组件化开发
- 2016年全国房价会呈什么趋势?
- 计算机二级背景图设置,计算机二级。 ppt2010。 背景图片,柔化边缘椭圆 图片样式效果 怎么弄??...
- Pluralistic Image Completion—多元图像补全—摘要翻译—测试教程(附源码)——CVPR 2019
- Windows开发入门:工具-WinDbg的安装和使用教程
- 判断字符串是否为纯英文或纯中文
- firebase 推送_使用Firebase Cloud Messaging发送推送通知
- Linux操作系统第一讲
- SQL高级语法学习总结(一)
- 百度文库手机版通信协议分析
- SpringMVC总结和初识JSON
热门文章
- 关联对象 AssociatedObject 完全解析
- git笔记分享-b站黑马教程学习
- 图文并茂详解STM32时钟配置
- 研究生入门第一讲 让你的研究不再迷茫
- 华为路由器端口映射hcna
- 【回归】问题:随机误差和残差的区别?
- c语言无纸化软件系统资源不足,系统资源不足无法完成请求的服务怎么办_系统资源不足卸载迈克菲解决教程 - 系统家园...
- 爬虫python需要哪些软件_Python爬虫可以应用在哪些地方
- 产品读书《淘宝产品十年事》
- 定义大小为100的整型数组,使用随机函数给数组元素赋值,数值的范围为1-100,并且不容许重复