zoukankan      html  css  js  c++  java
  • BNU10805:矩形神码的

    我们都知道,矩形是由两条对角线的,没错吧?(谜之声:这不是显然么!)这两条线的长度也是相等的,没错吧?(谜之声:这不废话么!)然后我们给定一条对角线的起始点和终止点的坐标,然后给定另一个对角线和他的夹角,是不是就能得到两个面积相等的矩形?(谜之声:呃,貌似好像或许应该可能maybe perhaps probably possibly是对的?)
    现在我需要你求出这个矩形的面积。

    Input

    第一行,一个整数T(0<T<=10000),表示数据组数。
    接下来T行,每行5个浮点数。分别是x1,y1,x2,y2,theta。表示一条对角线的起始点和终止点的坐标,以及另一条对角线与他的夹角。坐标的绝对值范围均在10 4以内,夹角范围(0,90]。
     

    Output

    对于每一组数据,输出一行,表示面积,精确到小数点后六位。 绝对误差或者相对误差在0.0001内均算通过。
     

    Sample Input

    2
    1.0 1.0 -1.0 -1.0 90.0
    3.0 2.0 2.5 9.99 36.00
    
     

    Sample Output

    4.000000
    18.835608
    
     

    Hint

    pi请取值acos(-1.0)或者3.1415926535898
     
    简单数学题,因为矩形对角线长度相等,而对角线划分的四个三角形两两相等,所以只需要按照S=1/2absin(x)来计算三角形面积再相加即可
     
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <algorithm>
    using namespace std;
    
    double pi = acos(-1.0);
    
    int main()
    {
        int t;
        double x1,x2,y1,y2,a,b,l,s1,s2,s;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&a);
            a = a/180*pi;
            b = pi-a;
            l = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
            l = l/2;
            s = l*l*sin(a)/2+l*l*sin(b)/2;
            printf("%f
    ",s*2);
        }
    
        return 0;
    }
    

  • 相关阅读:
    BZOJ 2434 [NOI2011]阿狸的打字机
    BZOJ 3319 黑白树
    BZOJ 2500 幸福的道路
    BZOJ 3884 上帝与集合的正确用法
    BZOJ 3594[Scoi2014]方伯伯的玉米田
    BZOJ 3038上帝造题的七分钟2
    BZOJ 3887[Usaco2015 Jan]Grass Cownoisseur
    BZOJ 1875[SDOI2009]HH去散步
    看电影
    单峰
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3343338.html
Copyright © 2011-2022 走看看