zoukankan      html  css  js  c++  java
  • Codeforces Gym100971 F.Two Points (IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13)

    这个题直接推公式就可以。

    就是解一元二次方程,用高中学的公式,函数开口向上,求最大值为(4ac-b*b)/4a。

    这个题推出来一元二次方程,然后将最大值的公式化简一下。公式很好推。

    这个题有疑问,int vx=v11-v1,vy=v22-v2;这样写是对的,反过来写成v1-v11,v2-v22就不对,WA1,但是样例什么的是对的,搞不懂为什么。

    代码:

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<math.h>
     5 #include<algorithm>
     6 using namespace std;
     7 int main(){
     8     int x1,y1,x2,y2;
     9     int v1,v2,v11,v22;
    10     double ans;
    11     while(cin>>x1>>y1>>x2>>y2){
    12         cin>>v1>>v2>>v11>>v22;
    13         int vx=v11-v1,vy=v22-v2;
    14         if((y1-y2)*vy+(x1-x2)*vx<0||(vx==0&&vy==0))ans=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    15         else ans=fabs(((x1-x2)*vy-(y1-y2)*vx)/sqrt(vx*vx+vy*vy));
    16         printf("%.15f
    ",ans);
    17     }
    18     return 0;
    19 }
  • 相关阅读:
    Indexed DB入门导学(1)
    移动端touch事件封装
    javascript实现仿微信抢红包
    NODE学习:利用nodeJS去抓网页的信息
    ajax跨域请求无法携带cookie的问题
    四则运算
    wc
    我的问题
    css3新增加的属性
    css知识点回顾(一)
  • 原文地址:https://www.cnblogs.com/ZERO-/p/9703038.html
Copyright © 2011-2022 走看看