搜索1004

题目大意:

给出一个点的坐标,和射箭的速度,求能够到达这个点的射出的角度;

解题思路:

将射箭的方向正交分解为x,y轴,根据公式x=v*cosa,y=v*sina+g*t*t/2,消去t,得出一元二次方程,二分求解

代码:

#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
#define PI acos(-1)
int main()
{

    int T;  double g=9.8;
    cin>>T;
    while(T--)
    {
        double x,y,v;
        cin>>x>>y>>v;
        double a,b,c,dyx,wyx,temp;
        int wrong=-1;
        a=g*x*x;
        b=(-2)*x*v*v;
        c=g*x*x+2*v*v*y;
        temp=b*b-4*a*c;
        if(temp<0)
        cout<<wrong<<endl;
        else
        {
            dyx=atan((-1*b+sqrt(temp))/(2*a));
            wyx=atan((-1*b-sqrt(temp))/(2*a));
            if((dyx<0||dyx>PI/2.0)&&(wyx<0||wyx>PI/2.0))
            cout<<wrong<<endl;
            else if(dyx<0||dyx>PI/2.0)
            cout<<fixed<<setprecision(6)<<wyx<<endl;
            else if(wyx<0||wyx>PI/2.0)
            cout<<fixed<<setprecision(6)<<dyx<<endl;
            else
            cout<<fixed<<setprecision(6)<<(wyx>dyx?dyx:wyx)<<endl;
        }
    }
    return 0;
}
时间: 2024-10-16 18:58:04

搜索1004的相关文章

tyvj 1004 滑雪 记忆化搜索

滑雪 Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://www.tyvj.cn/p/1004 Description trs喜欢滑雪.他来到了一个滑雪场,这个滑雪场是一个矩形,为了简便,我们用r行c列的矩阵来表示每块地形.为了得到更快的速度,滑行的路线必须向下倾斜.    例如样例中的那个矩形,可以从某个点滑向上下左右四个相邻的点之一.例如24-17-16-1,其实25-24-23…3-2-1更长,事实上这是最长的一条. Input 输入文件

[ZOJ 1004] Anagrams by Stack (简单搜索)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1004 题目大意:给你个栈,给你源串和目标串,按字典序输出符合要求的进站出站序列. 就是搜搜搜呗... 带上答案和模拟的栈.. 代码: 1 #include <cstdio> 2 #include <cstdlib> 3 #include <string> 4 #include <iostream> 5 #include &l

宽度优先搜索 之 CODE[VS] 1004 四子连棋

/* bfs + hash判重 第一次接触“hash判重”(哈希函数是依据于取余),是一种很好的思想,不过也有小的瑕疵: hash判重: 棋盘表示:空(0),白(1),黑(2) 整个棋盘一共16个格子,可以看成3进制的16位数,将其转化为10进制数,找一个质数取余,利用余数的不同来给棋盘的状态判重. (用质数取余的原因:我不知道为什么用质数取余,但是<算法导论>以及其他地方都推荐用质数取余,应该不会错的...) 细心一下就会发现,这里面有问题: 定义用于取余的质数为y,需要取余的数集为x[],

1004 四子连棋

1004 四子连棋 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 在一个4*4的棋盘上摆放了14颗棋子,其中有7颗白色棋子,7颗黑色棋子,有两个空白地带,任何一颗黑白棋子都可以向上下左右四个方向移动到相邻的空格,这叫行棋一步,黑白双方交替走棋,任意一方可以先走,如果某个时刻使得任意一种颜色的棋子形成四个一线(包括斜线),这样的状态为目标棋局. ● ○ ●   ○ ● ○ ● ● ○ ● ○ ○ ● ○   输入描述 In

stack+DFS ZOJ 1004 Anagrams by Stack

题目传送门 1 /* 2 stack 容器的应用: 要求字典序升序输出,所以先搜索入栈的 3 然后逐个判断是否满足答案,若不满足,回溯继续搜索,输出所有符合的结果 4 */ 5 #include <cstdio> 6 #include <iostream> 7 #include <algorithm> 8 #include <stack> 9 #include <cmath> 10 #include <cstring> 11 #inc

vuejs通过filterBy,orderBy实现搜索筛选,降序排序数据实例

直接贴代码了: 先上输入前的样子: <style> #example{margin:100px auto;width:600px;} .show{margin:10px;} #searchText{display: block;margin:0 auto 10px;height:24px;line-height: 24px;width:200px;} .content ul li{text-align: center;} .content ul li span{display: inline-

搜索的题

1005 生日礼物 #include<algorithm> #include<cstdio> #include<iostream> using namespace std; int as[10][12],fs[12],sum[12],maxn=1001; int n,m; void dfs(int s) { for(int i=0;i<=fs[s];i++) { for(int k=1;k<=m;k++) sum[k]+=as[s][k]*i; if(s&l

Solr 搭建搜索服务器

一.安装配置所需JDK和Tomcat和安装包solr-4.2.1.tgzTomcat安装目录 /usr/local/tomcat修改Tomcat支持中文# vi /usr/local/tomcat/conf/server.xml<Connector port="8080" URIEncoding="UTF-8" /># tar xvf /root/solr-4.2.1.tgz# cp /root/solr-4.2.1/dist/solr-4.2.1.wa

迭代加深搜索[codevs1004 四子连棋]

迭代加深搜索 一.算法简介 迭代加深搜索是在速度上接近广度优先搜索,空间上和深度优先搜索相当的搜索方式.由于在使用过程中引入了深度优先搜索,所以也可以当作深度优先搜索的优化方案. 迭代加深搜索适用于当搜索深度没有明确上限的情况. 例如上图的一棵搜索树,在进行深度优先搜索前先规定好这次搜索的最大深度dep,当搜索到达dep却还没搜索到结果时回溯. 之后不断加大搜索深度,重新搜索,直到找到结果为止.虽然这样搜索次数会累计很多次,但每一次搜索的范围和下一次搜索的范围相比微不足道,所以整体搜索速度不会受