zoukankan      html  css  js  c++  java
  • E . Rain Gauge -UCF Local Programming Contest 2015

    https://nanti.jisuanke.com/t/43390

    题意

      几何中心重合的 圆 和 正方形

      给定正四边形边长 a 和 圆的半径 r,求重合面积

      简单计算几何问题

    思路

      分块计算

      注意精度和舍入问题

    代码

      

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<bitset>
    #include<cassert>
    #include<cctype>
    #include<cmath>
    #include<cstdlib>
    #include<ctime>
    #include<deque>
    #include<iomanip>
    #include<list>
    #include<map>
    #include<queue>
    #include<set>
    #include<stack>
    #include<vector>
    #include <vector>
    #include <iterator>
    #include <utility>
    #include <sstream>
    #include <limits>
    #include <numeric>
    #include <functional>
    using namespace std;
    #define gc getchar()
    #define mem(a) memset(a,0,sizeof(a))
    //#define sort(a,n,int) sort(a,a+n,less<int>())
    
    #define ios ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    
    typedef long long ll;
    typedef unsigned long long ull;
    typedef long double ld;
    typedef pair<int,int> pii;
    typedef char ch;
    typedef double db;
    
    const double PI=acos(-1.0);
    const double eps=1e-6;
    const ll mod=1e9+7;
    const int inf=0x3f3f3f3f;
    const int maxn=1e5+10;
    const int maxm=100+10;
    
    
    bool compare(int a, int b)
    {
    	return a < b;//升序
    }
    
    
    double pi = 3.14159265358979;
    int main(){
    	double s = 0;
    	double r = 0;
    	int t = 0;
    	cin >> t;
    	while(t--)
    	{
    		cin >> s >> r;
    		if(r > s*sqrt(2)/2)
    		{
    			//cout<<" !1 ";
    			cout <<s*s <<endl;
    			continue;
    		}
    		if(r < s/2)
    		{
    			//cout<<" !2 ";
    			cout <<pi*r*r <<endl;
    			continue;
    		}
    		double d = sqrt(r*r - s*s/4);
    		double s1 = d*s*2;
    		double a = acos(s/r/2);
    		//cout<<a<<endl;////
    		double s2 = pi*r*r * (1-a/(2*pi)*8); 
    		cout <<fixed <<setprecision(2) <<s1 + s2 <<endl;
    	}
        return 0;
    }
    

      

    作者:YukiRinLL

    出处:YukiRinLL的博客--https://www.cnblogs.com/SutsuharaYuki/

    您的支持是对博主最大的鼓励,感谢您的认真阅读。

    本文版权归作者所有,欢迎转载,但请保留该声明。

  • 相关阅读:
    @Aspect 注解使用详解
    Mysql的4个隔离级别
    【学习笔记】二分类问题中的“最大似然”与“交叉熵损失”概念的理解
    【转】对“先验概率”与“后验概率”概念的通俗理解
    nginx——安装部署vue项目
    JWT
    Vue——自定义组件实现vmodel
    Vue——子级向父级传递参数
    SpringBoot2(十四)全局异常切面
    Vue——ElementUI表格分页
  • 原文地址:https://www.cnblogs.com/SutsuharaYuki/p/12443504.html
Copyright © 2011-2022 走看看