Gym - 101522H Hit!
1.0 s
256 MB
standard input
standard output
"Hit!" is a popular game in ancient Byteland.
The very first version of the game is quite simple: each player picks up a stone and throws it at a circle drawn on the ground. A player wins if his/her stone lands inside the circle.
After 20 years of practice, Bitman, a young man living in ancient Byteland, has mastered the skill of throwing stones – he can throw a stone at any specific place he wants. With such skill, Bitman plays "Hit!" without losing a single game. He simply targets every stone at the center of the circle!
The King of Hackerland hears the story of Bitman and wants to challenge him with a harder, though still very simple, version of "Hit!".
In each game, two circles which share a positive common area are drawn on the ground. In order to win, the player must throw a stone at the common area of the two circles.
As Bitman had no idea how to target his stone at the common area, he asks for your help. Given the coordinates of the centers and radii of the two circles, please tell Bitman the coordinates of any point he can target at such that he can win the game.
For simplicity, you can consider the landing position of the stone as a single point.
The input consists of two lines, each describes one circle drawn on the ground. Each line contains three integers x, y and r, denoting respectively the x-coordinate, y-coordinate, and the radius of a circle.
All coordinates have their absolute value no more than 100, and 1 ≤ r ≤ 100 for both circles.
Output two numbers, the x-coordinate and y-coordinate of a point where Bitman can throw his stone at to win the game.
Your answer will be accepted if for each of the two circles, the point lies inside the circle or that the distance between the point and the circle is not greater than 10 - 5.
0 0 3
3 4 3
1.5 2.5
-7 -9 3
-4 -4 5
-6 -7
In the first sample, (1.5, 2.5) is a possible answer as it lies inside the common area of two circles drawn. Please note that there exists more than one possible answer in this case. For example, (2, 2), (1, 2) and (2.1, 1.87) are also possible answers.
思路:
水题,特判下两个圆的直径大于两圆心距离的情况,这时只要输出圆心就好了。还以为会卡精度,敲了半天,结果告诉队友特判,队友一顿乱敲没考虑精度直接过了。。mmp.
实现代码:
#include<bits/stdc++.h>
using namespace std; int main()
{
double x1,x2,y1,y2,z1,z2;
cin>>x1>>y1>>z1;
cin>>x2>>y2>>z2;
double len = pow((x2 - x1),) + pow((y2 - y1),);
len = sqrt(len);
//cout<<"len :"<<len<<endl;
double len1 = len - z1;
double len2 = len - z2;
//cout<<len1<<" "<<len2<<endl;
if(len1<=){
cout<<x2<<" "<<y2<<endl;
return ;
}
else if(len2<=){
cout<<x1<<" "<<y1<<endl;
return ;
}
double f1 = x2-x1;
double f2 = y2-y1;
double k = len2/len;
//cout<<k<<endl;
f1 *= k;
f2 *= k;
//printf("%.6lf\n",len2);
double ans;
while(){
ans = pow(f1,)+pow(f2,);
ans = sqrt(ans);
//printf("%.6lf\n",ans);
if(abs(ans - len2)<0.00001)
break;
else{
if(ans-len2<0.00001){
f1+=0.000001;f2+=0.000001;}
else if(ans-len2>0.00001){
f1-=0.000001;f2-=0.000001;}
}
}
printf("%.6lf %.6lf",x1+f1,y1+f2);
//cout<<pow((x1+f1),2)+pow((y1+f2),2)<<endl;
}
Gym - 101522H Hit!的更多相关文章
- Codeforces Gym 100803D Space Golf 物理题
Space Golf 题目连接: http://codeforces.com/gym/100803/attachments Description You surely have never hear ...
- Codeforces Gym 100231F Solitaire 折半搜索
Solitaire 题目连接: http://codeforces.com/gym/100231/ Description 给你一个8*8棋盘,里面有4个棋子,每个棋子可以做一下某个操作之一: 1.走 ...
- [LeetCode] Design Hit Counter 设计点击计数器
Design a hit counter which counts the number of hits received in the past 5 minutes. Each function a ...
- ACM: Gym 101047M Removing coins in Kem Kadrãn - 暴力
Gym 101047M Removing coins in Kem Kadrãn Time Limit:2000MS Memory Limit:65536KB 64bit IO Fo ...
- ACM: Gym 101047K Training with Phuket's larvae - 思维题
Gym 101047K Training with Phuket's larvae Time Limit:2000MS Memory Limit:65536KB 64bit IO F ...
- ACM: Gym 101047E Escape from Ayutthaya - BFS
Gym 101047E Escape from Ayutthaya Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I6 ...
- ACM: Gym 101047B Renzo and the palindromic decoration - 手速题
Gym 101047B Renzo and the palindromic decoration Time Limit:2000MS Memory Limit:65536KB 64 ...
- Buffer cache hit ratio性能计数器真的可以作为内存瓶颈的判断指标吗?
Buffer cache hit ratio官方是这么解释的:“指示在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比.” Buffer cache hit ratio被很多人当做判断内存的性能指 ...
- LeetCode Design Hit Counter
原题链接在这里:https://leetcode.com/problems/design-hit-counter/. 题目: Design a hit counter which counts the ...
随机推荐
- OO第9~11次作业总结
规格化设计调研 大致发展历史 --> 自给自足的私人化的软件生产方式. --> 落后的软件生产方式无法满足迅速增长的计算机软件需求,软件的开发与维护出现一系列严重问题. --> 正式 ...
- (二)Lua脚本语言入门(关于函数)
上一篇文章忘了插入代码了,方便粘贴复制...... 函数 对于c语言就是 void aa()//c语言是用void { print("这是一个函数") } Lua就变成了 func ...
- jqgrid editrules参数说明
转载至:jqgrid的editrules参数 以下为内容留存记录. editrules editrules是用来设置一些可用于可编辑列的colModel的额外属性的.大多数的时候是用来在提交到服 ...
- php实现远程网络文件下载到服务器指定目录(方法二)
<?php // maximum execution time in seconds set_time_limit (24 * 60 * 60); //if (!isset($_POST['su ...
- 现有工程中集成Cordova
cocoapods引入cordova源码 1.依赖Cordova和wk插件 pod 'Cordova' pod 'cordova-plugin-wkwebview-engine' 建立Cordova支 ...
- 数据库连接池DBUtils使用
一.简介 DBUtils简单说python实现的线程化数据库连接(连接池),DBUtils支持所有遵循DP-API 2规范的数据库连接模块,例如:mysql.sqlserver.oracle.sqli ...
- IHttpModule不起作用的两个原因
最近在将系统改造成微服务的过程中,需要对以前的Url请求做兼容性处理,于是就采用了HttpModules模型,但在测试中碰到IHttpModules模块不起作用. 一.IIS配置问题 我用的IIS7. ...
- Android开发——高斯模糊效果的简单实现
0. 前言 在Android开发中,经常在音乐软件中看到高斯模糊效果. 在找遍了所有高斯模糊的算法代码后,发现stackblur的Java实现是最快的.效果如下所示. 1. 高斯模糊效果实现 Bit ...
- 【HNOI2017】礼物
题面 题解 显然两个手环只需要一个的亮度增加\(c \in [-m, m]\)和原题是等价的. 于是可以写成这样一个公式: \[ \sum_{i = 1} ^ n(x_i - y_{i+k} + c) ...
- [CF1060F]Shrinking Tree[树dp+组合计数]
题意 你有一棵 \(n\) 个点的树,每次会随机选择树上的一条边,将两个端点 \(u,v\) 合并,新编号随机为 \(u,v\).问最后保留的编号分别为 \(1\) 到 \(n\) 的概率. \(n\ ...