UESTC 1706 Orbital
先不考虑反弹的问题,假设平面是有无数个5*10的矩形组成的,那么子弹最终会停在某个矩形之中
而虚拟的子弹在这个矩形中的位置和真实的子弹在原矩形中的位置明显是有关系的,至于什么关系只要这个虚拟的子弹穿过了几次边界就行了
每穿过偶次数左(或右)边界,子弹的相对位置是一样的,奇数次的话就是对称,上边界同理。
//#pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<iostream> #include<sstream> #include<cmath> #include<climits> #include<string> #include<map> #include<queue> #include<vector> #include<stack> #include<set> using namespace std; typedef long long ll; typedef pair<int,int> pii; #define pb(a) push_back(a) #define INF 0x1f1f1f1f #define lson idx<<1,l,mid #define rson idx<<1|1,mid+1,r #define PI 3.1415926535898 template<class T> T min(const T& a,const T& b,const T& c) {return min(min(a,b),min(a,c)); } template<class T> T max(const T& a,const T& b,const T& c) {return max(max(a,b),max(a,c)); } #define clr0(a) memset(a,0,sizeof(a)) #define clr1(a) memset(a,-1,sizeof(a)) void debug(){ #ifdef ONLINE_JUDGE #elsefreopen("d:\\in.txt","r",stdin);// freopen("d:\\out1.txt","w",stdout); #endif } int getch() {int ch; // while((ch=getchar())!=EOF) // { // if(ch!=' '&&ch!='\n')return ch; // }scanf(" %c",&ch);return ch; } int main() {int t;scanf("%d",&t);for(int ca=1;ca<=t;ca++){double d,x,y;scanf("%lf%lf%lf",&d,&x,&y);double r=sqrt((d*d)/((x-2.5)*(x-2.5)+y*y));double vx=r*(x-2.5),vy=r*y;double x0,y0;x0=vx+2.5;y0=vy;if(x0>5){int num=0;while(x0>5){x0-=5;num++;}if(num%2==1){x0=5-x0;}}else if(x0<0){int num=0;while(x0<0){x0+=5;num++;}if(num%2==1)x0=5-x0;}if(y0>10){int num=0;while(y0>10){y0-=10;num++;}if(num%2==1)y0=10-y0;else{printf("-1\n");continue;}}double rr=min(x0-0,5-x0);rr=min(rr,y0,10-y0);printf("%.3lf %.3lf %.3lf\n",x0,y0,rr);}return 0; }
View Code
转载于:https://www.cnblogs.com/BMan/p/3272314.html
UESTC 1706 Orbital相关推荐
- UESTC 2015dp专题 E 菲波拉契数制 dp
菲波拉契数制 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...
- The 15th UESTC Programming Contest Preliminary C - C0ins cdoj1554
地址:http://acm.uestc.edu.cn/#/problem/show/1554 题目: C0ins Time Limit: 3000/1000MS (Java/Others) M ...
- the 12th UESTC Programming Contest Final Justice is Given by Light (几何+ 二分)
题目来源: http://acm.uestc.edu.cn/#/problem/show/814 题意:是给你一堆凸包上的点,这些点会形成一个凸多边形,有两个god站在这个多边形上,他们可以释放一个半 ...
- UESTC 电子科大专题训练 数据结构 J
UESTC 1599 题意:中文题..不写了 思路:优先对列,小的优先 AC代码: #include "iostream" #include "string.h" ...
- ACM学习历程—UESTC 1226 Huatuo's Medicine(数学)(2015CCPC L)
题目链接:http://acm.uestc.edu.cn/#/problem/show/1226 题目就是构造一个对称的串,除了中间的那个只有1个,其余的两边都是对称的两个,自然答案就是2*n-1. ...
- 2015 UESTC Winter Training #10【Northeastern Europe 2009】
2015 UESTC Winter Training #10 Northeastern Europe 2009 最近集训都不在状态啊,嘛,上午一直在练车,比赛时也是刚吃过午饭,状态不好也难免,下次比赛 ...
- 2015 UESTC 数据结构专题H题 秋实大哥打游戏 带权并查集
秋实大哥打游戏 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/59 Descr ...
- UESTC 1851 Kings on a Chessboard
状压DP... Kings on a Chessboard Time Limit: 10000ms Memory Limit: 65535KB This problem will be judged ...
- 2015 UESTC 数据结构专题G题 秋实大哥去打工 单调栈
秋实大哥去打工 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/59 Descr ...
最新文章
- Linux下快速搭建ntp时间同步服务器
- oauth2 增加token 返回参数_一张图搞定OAuth2.0
- java获取其他类的线程,使用Java实现面向对象编程——第七章 多线程
- Android之解决aidl里面函数参数太大不能跨进程通信的问题
- 【P1835】小红花
- 监控mysql锁定状态_MySQL 锁的监控及处理
- 安卓USB开发教程 五 安卓 AOA 1.0
- Unicode、UTF-8、UTF-16
- 多进程IterableDataset流式读取数据的坑:每个进程会读取一遍完整数据
- 顺丰同城:拟通过香港IPO发行1.31亿股H股 预期将于12月14日在港交所上市
- 【转】对 Rust 语言的分析
- NYOJ--102--次方求模
- 未root的情况下获取墨墨背单词的databases文件夹
- 【统计学】基本Stata使用手册(3):模型设定问题
- 语言学句法分析树形图怎么画_科学网—《泥沙龙笔记:漫谈自动句法分析和树形图表达》 - 李维的博文...
- Redis和消息队列
- 买外链有没有影响?会导致网站降权吗?玉米社
- ROS_RGB-D SLAM学习笔记--室内环境测试
- 解决win10系统无法通过usb共享手机网络
- 如何让Arduino用2颗5号电池运行1年以上--Arduino低功耗
热门文章
- 在内核中如何获得系统的日期和时间
- Web前端开发之“常见模块你真的很了解吗?”
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:收款验收部分)...
- anaconda新建python文件_PyCharm+cmd中使用Anaconda 与 新建Python环境(Windows)
- python123用户登录的三次机会_用户登录三次机会(PYTHON)
- 01-HTML基础与进阶-day3-录像236
- 寒冬、裁员?!你想知道的真相都在这里
- Java中的非对称加密算法RSA实现
- 在python中单线程,多线程,多进程对CPU的利用率实测以及GIL原理分析
- ISA2006发布Exchange服务器 RPC OVER HTTPS