CF 1A(隐式变换)

CF 1A(隐式转换)
A. Theatre Square
time limit per test
2 seconds
memory limit per test
64 megabytes
input
standard input
output
standard output

在n*m的广场上平铺边长为a的正方形石板,问至少要多少石板才能铺满广场(石板必须对齐且与边角线平行)

Input

输入仅一行 n,  m and a (1 ≤  n, m, a ≤ 109).

Output

输出一行最小石板数。

Sample test(s)
input
6 6 4
output
4

显然答案为(ceil(double(n)/double(a))*ceil(double(m)/double(a)))。

但直接用cout输出可能被转换成科学表示法

且极端情况Maxn*Maxm>2^31

所以输出时要打上(long long)

而且必须框上double()否则中间的‘/'会被当成整除


#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<iostream>
using namespace std;
#define MAXN (1000000000)
long long n,m,a;
int main()
{
	cin>>n>>m>>a;
	cout<<(long long)(ceil(double(n)/double(a))*ceil(double(m)/double(a)))<<endl;
	return 0;
}