列表

详情


NC26107. Bowling Game

描述

CUST的队员打完省赛后,小r带着大家去打保龄球。

保龄球是一项难度非常高的游戏,然而这根本难不住校队成员,他们个个都很厉害(炸和)一发10个瓶都倒。尤其是小r,每次都能闭着眼睛一次扔倒10个瓶。他们当中也有一个并不那么厉害的下水道玩家,每次都能把球丢进下水道里,导致一个球瓶都砸不中。



几轮下来,我们发现回来的球越来越少,最后只剩几个9号球了。他们不爱丢9号球,因为太轻了。

在询问工作小姐姐后,得知:咱们松江保龄球俱乐部技术并不那么先进,所以后台是人工操作把球捡回来,现在球没有回来,导致球变少的原因是球卡住了,投进下水道就可能会导致现在这种情况。

校队成员心里都有数,他们每人都至少炸和过一次,只有某下水道玩家。。。

我们得知后台都是方形的盒子,大概这样的时候保龄球会卡住,图中蓝色面积S_1,黄色面积S_2,问球的直径多大的时候会按照图中所示卡住。


输入描述

输入共一行,由 s_1, s_2 两个正整数组成。(s_1s_2 为图中面积,保证且图形合法)

输出描述

输出一行,即保龄球的直径 D。

你的答案与标准答案误差在±0.001范围以内都算正确。

示例1

输入:

6 25

输出:

2

示例2

输入:

693 2853

输出:

21.586519

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 2ms, 内存消耗: 344K, 提交时间: 2022-06-10 18:52:45

#include <stdio.h>

int main()
{
    int s1,s2;
    scanf("%d%d",&s1,&s2);
    printf("%.6lf\n",sqrt(4*s1 + s2) - sqrt(s2));
    return 0;
}

C++14(g++5.4) 解法, 执行用时: 3ms, 内存消耗: 488K, 提交时间: 2019-06-09 22:00:24

#include<bits/stdc++.h>

using namespace std;
int main()
{
    double a,b;
    cin>>a>>b;
    cout<<4*a/(sqrt(b+4*a)+sqrt(b));
}

C++11(clang++ 3.9) 解法, 执行用时: 5ms, 内存消耗: 492K, 提交时间: 2020-02-17 16:06:25

#include<bits/stdc++.h>
using namespace std;
int main()
{
	double a,b;
	cin>>a>>b;
	cout<<4*a/(sqrt(b+4*a)+sqrt(b));
}

pypy3(pypy3.6.1) 解法, 执行用时: 67ms, 内存消耗: 18656K, 提交时间: 2020-03-13 22:44:31

import math
s1,s2 = (int(t) for t in input().split())
a = math.sqrt(s2)
c = math.sqrt(s1*4 + s2)
print(c-a)

Python3 解法, 执行用时: 43ms, 内存消耗: 4556K, 提交时间: 2023-05-06 13:27:41

a,b=map(int, input().split())
print(f"{(a*4+b)**0.5-b**0.5:0.6f}")

上一题