CSU 1650 影魔大战

简单题。

首先判断两个圆是否都与坐标轴相交,有一个不相交直接输出NO

剩下的情况都是相交的。让算一算四个交点。最后只有四种情况了。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;

int main()
{
    double Vx, x, y, T1, R1, T2, R2;
    while (~scanf("%lf%lf%lf", &Vx, &x, &y))
    {
        scanf("%lf%lf%lf%lf", &T1, &R1, &T2, &R2);

        double TT1, TT2, RR1, RR2;
        if (R1 > R2)RR1 = R1, RR2 = R2, TT1 = T1, TT2 = T2;
        else RR1 = R2, RR2 = R1, TT1 = T2, TT2 = T1;
        if (fabs(y)>R1 || fabs(y)>R2)
        {
            printf("No\n");
            continue;
        }
        double A, B, C, D;
        A = x - sqrt(RR1*RR1 - y*y);
        B = x + sqrt(RR1*RR1 - y*y);
        C = x - sqrt(RR2*RR2 - y*y);
        D = x + sqrt(RR2*RR2 - y*y);

        if (A>0 && A / Vx >= TT1 && (C - A) / Vx >= TT2) printf("Yes\n");
        else if (A>0 && A / Vx >= TT1 && (D - A) / Vx >= TT2) printf("Yes\n");
        else if (C>0 && C / Vx >= TT2 && (B - C) / Vx >= TT1) printf("Yes\n");
        else if (D>0 && D / Vx >= TT2 && (B - D) / Vx >= TT1) printf("Yes\n");
        else printf("No\n");
    }
    return 0;
}
时间: 2024-10-26 07:30:37

CSU 1650 影魔大战的相关文章

外卖的撕‘哔’大战 CSU 1559

CSU 1559 Time Limit:1000MS     Memory Limit:131072KB     64bit IO Format:%lld & %llu Description “订外卖就上XXX,满X减Y,满X减Y...”这样的声音老回荡在我们耳旁.发传单,拉条幅的宣传手段也屡见不鲜.外卖的撕‘哔’大战充满血雨腥风,不过作为消费者,我们的问题是:“已知N种类似满X减Y的优惠,请问你想点M次外卖,最少出多少钱呢?”.(P.S:各优惠不能叠加,外卖不能拼单拆单.) Input 多组

CSU 1804: 有向无环图(拓扑排序)

http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1804 题意:…… 思路:对于某条路径,在遍历到某个点的时候,之前遍历过的点都可以到达它,因此在这个时候对答案的贡献就是∑(a1 + a2 + a3 + ... + ai) * bv,其中a是之前遍历到的点,v是当前遍历的点. 这样想之后就很简单了.类似于前缀和,每次遍历到一个v点,就把a[u]加给a[v],然后像平时的拓扑排序做就行了. 1 #include <bits/stdc++.h>

再见!春节红包大战隐退是策略转移

对于近两三年的春节来说,大众印象最深刻的不是美酒佳肴.无聊春晚.鞭炮礼花啥的,而是以排山倒海之势袭来的红包雨.支付宝.微信支付都在春节时刻不断发力,以发红包的方式承包了大众春节的大部分娱乐时间.但在今年,支付宝和微信似乎是有了心灵感应一般,都表示不会再在春节期间展开红包大战,这是否就意味着以后我们就要与其说再见了? 但细细看支付宝.微信支付近来的动作却不难发现,春节红包大战的隐退实际上只是一种策略上的转移.春节红包对它们来说已经完成了既定的开拓移动支付应用场景的任务,但这并不意味着春节红包就真地

CSU 1111: 三家人【有趣的思维题】

1111: 三家人 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 2241  Solved: 874 [Submit][Status][Web Board] Description 有三户人家共拥有一座花园,每户人家的太太均需帮忙整理花园.A 太太工作了5 天,B 太太则工作了4 天,才将花园整理完毕.C 太太因为正身怀六甲无法加入她们的行列,便出了90元.请问这笔钱如何分给A.B 二位太太较为恰当?A 应得多少元?90/(5+4)*5=$50

CSU 1112: 机器人的指令【模拟题】

1112: 机器人的指令 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1858  Solved: 682 [Submit][Status][Web Board] Description 数轴原点有一个机器人.该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置. ·LEFT:往左移动一个单位 ·RIGHT: 往右移动一个单位 ·SAME AS i: 和第i 条执行相同的动作.输入保证i 是一个正整数,且不超过之前执行指令数 In

坦克大战系列(3.0版)

无论头上是怎样的天空,我准备承受任何风暴.--拜伦 本讲内容:坦克3.0版(面向对象的思想) 要求:画出我方坦克会动并且会发射子弹.画出敌人坦克 一.同一个包下建二个文件分别为:MyTankGame.Members(负责其它成员譬如:制造坦克.子弹等) MyTankGame类 /** * 功能:坦克游戏的3.0版本 * 1:画出坦克 * 2:实现我方坦克移动并且會發子彈,并 画出敌人的坦克 */ package a; import javax.swing.*; import java.awt.*

CSU 1416 Practical Number

原题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1416 结论题,具体判断方法请点击这个网址. 筛素数是肯定的,但一开始定的范围太大了,想当然要筛到10^9的质数,但仔细想想,只要到sqrt(10^9)就可以了,最后的那一个质数是最后一步的比较,不用筛出来. #include <stdio.h> #include <string.h> #include <iostream> using namespace st

CSU 1412 Line and Circles

原题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1412 题目要求判断是否有一条直线可以穿过所有的圆. 做法:把所有圆心做一次凸包,然后判断这个凸包是否能通过一个宽度为2*R的通道. 做法和求凸包直径差不多,只是判断的时候把点到两个端点的距离换成点到直线的距离. #include <stdio.h> #include <string.h> #include <math.h> #include <stdli

[HNOI2017]影魔

题目背景 影魔,奈文摩尔,据说有着一个诗人的灵魂. 事实上,他吞噬的诗人灵魂早已成千上万. 千百年来,他收集了各式各样的灵魂,包括诗人. 牧师. 帝王. 乞丐. 奴隶. 罪人,当然,还有英雄. 题目描述 每一个灵魂,都有着自己的战斗力,而影魔,靠这些战斗力提升自己的攻击. 奈文摩尔有 n 个灵魂,他们在影魔宽广的体内可以排成一排,从左至右标号 1 到 n.第 i个灵魂的战斗力为 k[i],灵魂们以点对的形式为影魔提供攻击力,对于灵魂对 i, j(i<j)来说,若不存在 ks大于 k[i]或者 k