FZU 2213 Common Tangents 第六届福建省赛
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2213
题目大意:两个圆,并且知道两个圆的圆心和半径,求这两个圆共同的切线有多少条,若有无数条,输出-1,其他条如数输出
解题思路:这道题只需要判断两圆心的距离与半径的距离即可,代码里面有详细解释
AC代码
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std; int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int ans,x1,y1,r1,x2,y2,r2;
scanf("%d %d %d %d %d %d",&x1,&y1,&r1,&x2,&y2,&r2);
if(r1<r2){int temp=r2;r2=r1;r1=temp;;swap(x1,x2);swap(y1,y2);}//第一个为大圆,第二个为小圆
double d=sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1));//两圆心之间的距离
int rd=abs(r1+r2);//两半径之和
int rc=abs(r1-r2);//两半径之差
if(d==&&r1==r2) ans=-;//如果两上圆同心,并且一样大,就是有无数条切线
else
if(rd<d) ans=;//半径和小于圆心和,即小圆在大圆外
else
if(rd==d) ans=;//大圆与小圆相外切,有一个交点,小圆在大圆外
else
{
if(d+r2==r1) ans=;//大圆与小圆相交,小圆在大圆内,有一个交点
else
if(d+r2>r1) ans=;//大圆与小圆相交,有两个交点
else ans=;//小圆在大圆里面,且无交点
}
printf("%d\n",ans);
}
return ;
}
FZU 2213 Common Tangents 第六届福建省赛的更多相关文章
- FZU 2213——Common Tangents——————【两个圆的切线个数】
Problem 2213 Common Tangents Accept: 7 Submit: 8Time Limit: 1000 mSec Memory Limit : 32768 KB ...
- FZU 2213 Common Tangents(公切线)
Description 题目描述 Two different circles can have at most four common tangents. The picture below is a ...
- FZU 2212 Super Mobile Charger 第六届福建省赛
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2212 题目大意: 现在有n个手机,一个电量为m%(百分之m)的万能充电宝 然后输入n个手机的现有电量(百分之a ...
- 第六届福建省大学生程序设计竞赛(FZU2213—FZU2221)
from:piaocoder Common Tangents(两圆之间的公公切线) 题目链接: http://acm.fzu.edu.cn/problem.php?pid=2213 解题思路: 告诉你 ...
- 湖南省第六届省赛题 Biggest Number (dfs+bfs,好题)
Biggest Number 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 You have a maze with obstacles and non-zero di ...
- FZU Problem 2213 Common Tangents
其实是不太好意思往博客上放的,因为是一道巨水的题,但是我却错了一次,没有判断重合,放上还是为了警示自己,尽量不要在水题上罚时 #include<iostream> #include< ...
- 【Floyd最短路】第七届福建省赛 FZU Problem 2271 X
http://acm.fzu.edu.cn/problem.php?pid=2271 [题意] 给定一个n个点和m条边的无向连通图,问最多可以删去多少条边,使得每两个点之间的距离(最短路长度)不变. ...
- Problem 2214 Knapsack problem 福建第六届省赛
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2214 题目大意:给你T组数据,每组有n个物品,一个背包容量B,每件有体积和价值.问你这个背包容纳的物品最大价值 ...
- FZOJ--2221-- RunningMan 福建第六届省赛
题目链接:http://acm.hust.edu.cn/vjudge/contest/127149#problem/J 题目大意: 因为总共就分三个队,因为两个队都要选取最优的策略,不论B队咋放,要使 ...
随机推荐
- QListWidget 删除选中项目
void MainWindow::on_action_Del_triggered() { QList<QListWidgetItem*> selectedItems = ui->li ...
- stringstream vs sprintf, sscanf.
前言 以前一直认为 stringstream 远不如 sprintf. 近日突然萌发了看看 stirngstream 是不是真的如我想的那么烂 对比 // stringstream. stringst ...
- HttpClient4.3 使用经验(一) 简单使用
package com.wp.nevel.base.utils; import java.io.BufferedOutputStream; import java.io.BufferedReader; ...
- docker中搭建gitlab
1, 下载镜像 docker pull sameersbn/gitlab:7.4.3 # 下载gitlab镜像 docker pull sameersbn/mysql:latest # 下载gitla ...
- PHPUML 生成UML
Selecting the UML/XMI version To select which version of the UML/XMI standards you want your XMI to ...
- 两个for循环例子
var i,j; var a=0; // for(i=0,j=0;i<5,j<7;i++,j++){ // a=i+j; // } // alert(a) //12 for(i=0,j=0 ...
- c#基础班笔记
1.静态与非静态的区别:是否有static 非静态: 1)在非静态类中,既可以有实例成员,也可以有静态成员 2)在调用实例成员,通过 对象.实例成员 在调用静态成员时,通过 类名.静态成员 静态: ...
- div 被Object盖住的。解决办法
今天遇到一个比较头疼的问题,就是在一个标签上右键,弹出的菜单div被标签内的Office控件Object挡住了下半部分,始终无法显示.查了好多解决方案,最终都不能解决问题,几乎都要放弃了.中午吃饭的时 ...
- 让你的 Node.js 应用跑得更快的 10 个技巧
Node.js 受益于它的事件驱动和异步的特征,已经很快了.但是,在现代网络中只是快是不行的.如果你打算用 Node.js 开发你的下一个Web 应用的话,那么你就应该无所不用其极,让你的应用更快,异 ...
- php 需熟练掌握的几个函数
class Test { } $obj = new Test; 一.__construct() {} 构造函数 二.__destroy() {} 析构函数 三.__get() {} 试图读取一个并不 ...