当前位置: 首页 > news >正文

跑刀仔【牛客tracker 每日一题】

跑刀仔

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

旺仔哥哥最近迷上了玩某款搜打撤游戏,但是因为他实在是太菜了,所以他只敢带一把小破刀进地图刮地皮。这款游戏里面有一个非常强劲的道具——探测器,使用探测器,可以探测到一个半径为r rr的范围内敌人的位置。实际上,很多强力的猛攻玩家经常会携带这个道具,这让旺仔哥哥总是提心吊胆,因为一旦被探测到,他基本上就可以自己找地方躺板板了。

今天,旺仔哥哥在一个l × l l×ll×l的地图里面跑刀玩,然后他就听到了一大片探测器的音效。作为站在某个重要桥上的侦察位,你自然知道这些探测器都在哪些地方被使用,具体而言,第i ii个探测器位于位置( x i , y i ) (x_i,y_i)(xi,yi)

旺仔哥哥希望你帮他找到一个位置( x , y ) (x,y)(x,y),使得该位置不在任何一个探测器的覆盖范围内。数据保证一定存在至少一个这样的位置。

输入描述:

输入的第一行包含两个整数n , l ( 1 ≦ n ≦ 10 ; 1 ≦ l ≦ 10 5 ) n,l (1≦n≦10; 1≦l≦10^5)n,l(1n10;1l105)n,l,分别表示探测器的个数和整个地图的大小。
此后n nn行,第i ii行输入三个正整数x i , y i , r i ( 0 ≦ x i , y i , r i ≦ l ) x_i,y_i,r_i(0≦x_i,y_i,r_i≦l)xi,yi,ri(0xi,yi,ril),意义如上所述。

输出描述:

如果可以找到,输出两个数x , y ( 0 ≦ x , y ≦ l ) x,y(0≦x,y≦l)x,y(0x,yl),意义如上所述。数据保证一定存在至少一个这样的位置。

如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。

由于实数的计算存在误差,当误差的量级不超过10 − 6 10^{−6}106时,您的答案都将被接受。具体来说,设您的答案为a aa,标准答案为b bb,当且仅当∣ a − b ∣ m a x ⁡ ( 1 , ∣ b ∣ ) ≤ 10 − 6 \frac{∣a−b∣}{max⁡(1,∣b∣)}≤10^{−6}max(1,b)ab106时,您的答案将被接受。

示例1

输入:

1 2 1 1 1

输出:

0 0

示例2

输入:

3 6 1 2 3 1 4 1 5 4 1

输出:

2.92697 5.762122

解题思路

本题核心是暴力枚举圆周外侧点+合法性校验,依托探测器数量极少的特性快速求解。题目要求在l × l l×ll×l正方形内找到不被任何圆形探测器覆盖的点,且n ≤ 10 n≤10n10、数据保证有解。无需复杂的几何计算,直接遍历每个探测器的圆周,生成圆周上的点并做微小偏移(确保点在圆外),再通过校验函数判断:点是否在地图范围内、是否未被所有探测器覆盖。一旦找到合法点立即输出。该方法简单直接,规避了圆相交、区域划分等复杂逻辑,枚举效率极高,完美适配题目约束。

总结

核心逻辑:利用n ≤ 10 n≤10n10的极小数据规模,枚举圆周边缘偏移点,快速筛选合法位置。
关键操作:圆周坐标生成、微小偏移避免落入圆内、双重合法性校验(地图边界+无覆盖)。
效率保障:无复杂算法,纯暴力枚举,运行速度极快,严格满足时间限制。

代码内容

#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vvt;typedefpair<ll,ll>pll;constll N=1e3+10;constll INF=1e18;constll M=1e6+10;constll mod=1e9+7;doubledis(doublex1,doubley1,doublex2,doubley2){doubledx=abs(x1-x2),dy=abs(y1-y2);returnsqrt(dx*dx+dy*dy);}usingtddd=tuple<double,double,double>;intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);ll n,l;cin>>n>>l;doubleeps=1e-6;doubledelta=1e-3;vector<tddd>a(n+1);for(ll i=1;i<=n;i++){ll x,y,r;cin>>x>>y>>r;a[i]={x,y,r};}autocheck=[&](double_x,double_y){if(_x<0||_x>l||_y<0||_y>l)returnfalse;for(auto[x,y,r]:a)if(dis(x,y,_x,_y)<=r+eps)returnfalse;returntrue;};for(ll i=1;i<=n;i++){for(ll j=1;j<=359000;j++){auto[x,y,r]=a[i];doublecur_x=x+r*cos(j/1000.0)+delta;doublecur_y=x+r*sin(j/1000.0)+delta;if(check(cur_x,cur_y)){cout<<fixed<<setprecision(10)<<cur_x<<' '<<cur_y<<endl;return0;}}}return0;}
http://www.jsqmd.com/news/798947/

相关文章:

  • HS2-HF Patch:终极汉化与MOD整合解决方案
  • Google Docs × Gemini智能写作实战手册(2024企业级落地白皮书)
  • 易语言大漠模块截图实战:从静态BMP到动态GIF,手把手教你封装Capture系列命令
  • 2026年5月更新:济南企业如何筛选靠谱的软件功能测试服务商? - 2026年企业推荐榜
  • 深度拆解——Google 工程总监如何把“资深工程师纪律“封装成 22 个可执行 Skill
  • STK Astrogator模块避坑指南:从Target Sequence优化失败到成功收敛的5个关键设置
  • AI原生图计算不是“加个GNN层”那么简单:SITS 2026定义的5层工程化成熟度模型(附自测清单+迁移路线图)
  • 深入探讨IntelliJ IDEA和PyCharm的全局查找替换功能
  • OpenWrt固件DIY:给MT7628路由器添加开机自启的TCP串口服务器(ser2net配置指南)
  • CompressO:免费开源视频图片压缩工具,三分钟掌握专业级文件瘦身技巧
  • 巧妙实现React中的单行删除按钮
  • 2026年5月更新:海口代理记账服务商深度**,海南上捷财务咨询有限公司表现如何? - 2026年企业推荐榜
  • 从矿石收音机到软件定义无线电(SDR):手把手带你复现AM广播接收全流程
  • 互联网大厂Java求职面试:从Java SE到Maven的深度探讨
  • QMCDecode终极指南:5分钟让QQ音乐加密文件重获自由!
  • 仅限首批Beta开发者访问的Gemini Calendar高级API权限池即将关闭——现在掌握这6个私有端点将决定你团队的2025排期话语权
  • 解锁音乐自由:用纯C语言工具将网易云NCM文件转为MP3
  • Stream-rec架构解析:构建企业级多平台直播录制系统的技术方案
  • Claude 充当用户空间 IP 栈:Ping 响应往返时间达 45 秒,速度为何这么慢?
  • 从STM32到华大HC32F460:手把手移植USB HOST MSC + FatFs R0.13c(含源码对比与避坑指南)
  • Dell 显示器 S2419HM 灰屏 花屏 All In One
  • AVL发动机仿制许可不够用?闲置回收+自动释放,提升效率
  • 别再傻傻关进程了!Quartus II 13.1 NCO IP核卡住?试试这个JRE环境修复法
  • 别再手动拷贝DLL了!用批处理一键搞定NX二次开发EXE的环境变量配置(VS2015+NX12)
  • LittleVGL实战避坑:TFT_eSPI库在Arduino上的显示与触摸一体化配置详解
  • 从‘能用’到‘好用’:给你的Qt按钮(PushButton)做一次全面体检与优化
  • Windows系统mqoa.dll文件丢失无法启动程序解决
  • 2026.5.11
  • AiToEarn 深度技术解析:一人公司的 AI 内容营销智能体平台
  • Codex API安装与配置指南