当前位置: 首页 > news >正文

网站建设需要多少时间百度运营推广

网站建设需要多少时间,百度运营推广,微信导购网站怎么做视频教学,免费网络推广的方法题目链接:传送门 题目大意:给你一组数据 Rm, R, r, x, y, vx and vy 含义分别为:小圆的半径Rm,大圆的半径R(注:小圆和大圆的圆心都是原点)以及射击点的半径r,射击点的坐标&#xf…

题目链接:传送门

题目大意:给你一组数据 Rm, R, r, x, y, vx and vy 

               含义分别为:小圆的半径Rm,大圆的半径R(注:小圆和大圆的圆心都是原点)以及射击点的半径r,射击点的坐标(x,y)还有射击点的移动方向,射击点在遇到小圆的时候会反弹,遇到大圆的时候不做反应,问射击点在大圆中持续的时间。

               题目意思很容易理解吧.......

               我写的有点逗........没有用到数学知识,完全是用模板写的

               首先判断这个射击点的轨迹与(大圆的半径+r)为半径的圆是否相交,若不相交则直接返回0,这样的轨迹不可能与圆相交

               其次判断这个射击点的轨迹与(小圆的半径+r)为半径的圆是否相交,若不相交则不会产生反弹,则直接求出直线与大圆的两个交点计算即可

               若相交则产生反弹,求出(大圆半径+r)与(小圆半径+r)为半径的圆的交点,计算即可,注意结果要乘于2

贴代码:

          

#include <math.h>
#include <stdio.h>
#define eps 1e-8
struct point{double x,y;};
double max(double a,double b)
{if(a>b) return a;else return b;
}double xmult(point p1,point p2,point p0){return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);
}double distance(point p1,point p2){return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}double disptoline(point p,point l1,point l2){return fabs(xmult(p,l1,l2))/distance(l1,l2);
}point intersection(point u1,point u2,point v1,point v2){point ret=u1;double t=((u1.x-v1.x)*(v1.y-v2.y)-(u1.y-v1.y)*(v1.x-v2.x))/((u1.x-u2.x)*(v1.y-v2.y)-(u1.y-u2.y)*(v1.x-v2.x));ret.x+=(u2.x-u1.x)*t;ret.y+=(u2.y-u1.y)*t;return ret;
}//判直线和圆相交,包括相切
int intersect_line_circle(point c,double r,point l1,point l2){/*printf("%lf\n",r+eps);printf("%lf\n",disptoline(c,l1,l2)); //dayu dengyu*/if(disptoline(c,l1,l2)-r>-eps) return 0;else return 1;
}//判线段和圆相交,包括端点和相切
int intersect_seg_circle(point c,double r,point l1,point l2){double t1=distance(c,l1)-r,t2=distance(c,l2)-r;point t=c;if (t1<eps||t2<eps)return t1>-eps||t2>-eps;t.x+=l1.y-l2.y;t.y+=l2.x-l1.x;return xmult(l1,c,t)*xmult(l2,c,t)<eps&&disptoline(c,l1,l2)-r<eps;
}//判圆和圆相交,包括相切
int intersect_circle_circle(point c1,double r1,point c2,double r2){return distance(c1,c2)<r1+r2+eps&&distance(c1,c2)>fabs(r1-r2)-eps;
}//计算圆上到点p最近点,如p与圆心重合,返回p本身
point dot_to_circle(point c,double r,point p){point u,v;if (distance(p,c)<eps)return p;u.x=c.x+r*fabs(c.x-p.x)/distance(c,p);u.y=c.y+r*fabs(c.y-p.y)/distance(c,p)*((c.x-p.x)*(c.y-p.y)<0?-1:1);v.x=c.x-r*fabs(c.x-p.x)/distance(c,p);v.y=c.y-r*fabs(c.y-p.y)/distance(c,p)*((c.x-p.x)*(c.y-p.y)<0?-1:1);return distance(u,p)<distance(v,p)?u:v;
}//计算直线与圆的交点,保证直线与圆有交点
//计算线段与圆的交点可用这个函数后判点是否在线段上
void intersection_line_circle(point c,double r,point l1,point l2,point& p1,point& p2){point p=c;double t;p.x+=l1.y-l2.y;p.y+=l2.x-l1.x;p=intersection(p,c,l1,l2);t=sqrt(r*r-distance(p,c)*distance(p,c))/distance(l1,l2);p1.x=p.x+(l2.x-l1.x)*t;p1.y=p.y+(l2.y-l1.y)*t;p2.x=p.x-(l2.x-l1.x)*t;p2.y=p.y-(l2.y-l1.y)*t;
}//计算圆与圆的交点,保证圆与圆有交点,圆心不重合
void intersection_circle_circle(point c1,double r1,point c2,double r2,point& p1,point& p2){point u,v;double t;t=(1+(r1*r1-r2*r2)/distance(c1,c2)/distance(c1,c2))/2;u.x=c1.x+(c2.x-c1.x)*t;u.y=c1.y+(c2.y-c1.y)*t;v.x=u.x+c1.y-c2.y;v.y=u.y-c1.x+c2.x;intersection_line_circle(c1,r1,u,v,p1,p2);
}int main ()
{double Rm,R,r,x,y,vx,vy;while(~scanf("%lf %lf %lf %lf %lf %lf %lf",&Rm,&R,&r,&x,&y,&vx,&vy)){point O; O.x=0; O.y=0;point P; P.x=x; P.y=y;point Pd; Pd.x=x+vx/10; Pd.y=y+vy/10;point p1,p2,p3,p4;if(distance(O,P)<distance(O,Pd))  {printf("0\n");continue;}if(intersect_line_circle(O,R+r,P,Pd)==0) {printf("0\n");continue;} //与大圆相离else if(intersect_line_circle(O,Rm+r,P,Pd)==0) //与小圆相离{intersection_line_circle(O,R+r,P,Pd,p1,p2);if(p1.x!=p2.x)printf("%.3lf\n",fabs((p1.x-p2.x)/vx));elseprintf("%.3lf\n",fabs((p1.y-p2.y)/vy));}else{intersection_line_circle(O,R +r,P,Pd,p1,p2);intersection_line_circle(O,Rm+r,P,Pd,p3,p4);if(p1.x!=p2.x)printf("%.3lf\n",2*fabs((max(p1.x,p2.x)-max(p3.x,p4.x))/vx));elseprintf("%.3lf\n",2*fabs((max(p1.y,p2.y)-max(p3.y,p4.y))/vy));}}
}
/*
5 20 1 0 100 0 -1
5 20 1 30 15 -1 0
5 20 1 0 21  1  0
*/



还有一点要注意的是判断射击点的方向,若是反向则直接输出0如何判断呢....... pd是移动一点点之后的,注意我的pd在vx和vy的基础上除了10

if(distance(O,P)<distance(O,Pd))  {printf("0\n");continue;}


http://www.lbrq.cn/news/2429911.html

相关文章:

  • 用手机做自己的网站郑州网站关键词优化公司
  • 本地计算机做网站服务器同城推广引流平台
  • 学校网站建设协议模板百度免费优化
  • 设计师可以做兼职的网站百度投诉中心入口
  • 给女朋友做网站的素材北仑seo排名优化技术
  • 营销网站的方法网络营销推广的要点
  • 那些卖外挂的怎么做的网站seo按照搜索引擎的什么对网站
  • 太原网站建设vhuashi如何推广公司
  • wordpress建站注册新用户如何做好市场推广
  • 投票链接制作福州seo外包公司
  • 重庆大渡口网站建设免费注册网页网址
  • 做网站的如何找业务网络营销员岗位的职责与要求
  • 建立主题网站的顺序制作网站的app
  • 广告设计是做什么旺道seo推广系统怎么收费
  • 大型做网站张掖seo
  • 交互做的好的网站seo研究
  • 兴化网站制作全国疫情最新信息
  • 网站悬浮窗口徐州seo排名公司
  • 鬼畜做的青龙游戏网站百度搜索什么关键词排名
  • 云南做网站报价百度指数搜索热度
  • 什么网站百度收录快推广app下载
  • 宁波门户网站建设国家市场监管总局
  • 网站开发代理第一营销网
  • 江苏连云港网站建设公司北京seo全网营销
  • 济南城乡建设局官网锦绣大地seo官网
  • 做终端客户网站网络推广seo怎么做
  • 网站上传的图片怎么做的清晰合肥网
  • 好看的个人博客主页系统优化方法
  • 背投广告典型网站网站空间
  • 搭建网站用服务器还是虚拟主机做网站找哪家好
  • STM32-SPI全双工同步通信
  • 【LeetCode 热题 100】46. 全排列——回溯
  • zabbix“专家坐诊”第295期问答
  • 赋能未来数学课堂——基于Qwen3、LangChain与Agent架构的个性化教辅系统研究
  • vscode目录,右键菜单加入用VSCode打开文件和文件夹(快速解决)(含删除)(脚本)
  • 未来趋势:LeafletJS 与 Web3/AI 的融合