洛谷笔记 - B2029 大象喝水

水题(各种意义上的)

题目描述

一只大象口渴了,要喝 2020 升水才能解渴,但现在只有一个深 hh 厘米,底面半径为 rr 厘米的小圆桶 (hhrr 都是整数)。问大象至少要喝多少桶水才会解渴。

输入格式

输入有一行:包行两个整数,以一个空格分开,分别表示小圆桶的深 hh 和底面半径 rr,单位都是厘米。

输出格式

输出一行,包含一个整数,表示大象至少要喝水的桶数。

样例 #1

样例输入 #1

1
23 11

样例输出 #1

1
3

提示

数据规模与约定

对于全部的测试点,保证 1h5001 \leq h \leq 5001r1001 \leq r \leq 100

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Problem: B2029 大象喝水
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/B2029
// Memory Limit: 128 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)

// https://www.luogu.com.cn/record/88862938

#include<iostream>
#include<cmath>
using namespace std;
int main(){
const double PI=3.1415926;
const int water=20000; //升与立方厘米(ml)的进率是 1000。
//这个知识点现在居然要靠查才能想起来了,智商很捉急啊
int h,r;
scanf("%d%d",&h,&r);
cout<<ceil(water/(r*r*PI*h))<<endl; //ceil: 定义于cmath/math.h,返回大于或者等于指定表达式的最小整数。
//和数学定义上的[x]差不多
return 0;
}