zoukankan      html  css  js  c++  java
  • 【kAri OJ 616】Asce的树

    时间限制 1000 ms 内存限制 65536 KB

    题目描述

    作为一个东北大老爷们,大A熊以力气大著称,现在有一颗半径为r的树,剖面图如黑色的圆,大A熊决定搬几个半径为R的圆柱形桶将其围住,剖面图如红色和绿色的圆

    如图,大A熊必须用7个半径为r的桶能被围住,他的树。

    hint:

    double转换int可以这样: x=(int)y;这种方式是下取整的。

    输入输出很大,cin cout 会造成超过时间限制,请使用scanf输入和printf输出,控制符可以用 "%lf" 。

    you may use those function

    Trigonometric functions

    Hyperbolic functions

    输入格式

    数据由多组输入组成,EOF结束。

    每组数据一行,包含两个数r,R(0<r,R<100000.0)

    输出格式

    每组输出占一行,表示大A熊最少需要放置的桶的个数。

    输入样例

    3.0 3.0
    3.0 2.9

    输出样例

    6
    7

    分析

    由几何关系可得,

    R/(R+r)=sinθ

    θ=2π/(2*n)=π/n

    所以n=π/arcsin(R/(R+r)),并且向上取整。

    然后在转换成整数输出n。

    代码

    #include<cstdio>
    #include<cmath>
    #define ll long long
    #define dd double
    
    const dd PI=acos(-1.0);
    dd r,R,n;
    ll ans;
    
    int main()
    {
        while(~scanf("%lf%lf",&r,&R))
        {
            n=ceil(PI/asin(R/(R+r)));
            ans=(ll)n;
            printf("%ld
    ",ans);
        }
        return 0;
    }

      

  • 相关阅读:
    LeetCode | Remove Duplicates from Sorted List
    LeetCode | Remove Duplicates from Sorted Array
    LeetCode | Merge Sorted Array
    opencv的配置、使用
    LeetCode | Merge Two Sorted Lists
    LeetCode | Minimum Depth of Binary Tree
    LeetCode | Same Tree
    LeetCode | Maximum Depth of Binary Tree
    LeetCode | Insertion Sort List
    python运算符优先级
  • 原文地址:https://www.cnblogs.com/flipped/p/5257640.html
Copyright © 2011-2022 走看看