题目链接:http://codeforces.com/problemset/problem/32/C
//竟然因为lld错写成了ld而错的一塌糊涂。哎,不仔细。
源代码:
#include<iostream>
#include<math.h>
#include<stdlib.h>
#include<stdio.h>
using namespace std;
int main()
{
//long long num1=1000000;
//cout<<num1*num1<<endl;
long long m,n,s;
long long num;
long long mid,yu;
long long yu1,mid1;
long long max,min;
while(cin>>m>>n>>s)
{
num=0;
if(s>=m&&s>=n)
{
num=1;
num*=n;
num*=m;
cout<<num<<endl;
continue;
}
if(m<n)
{
max=n;
min=m;
}
else
{
max=m;
min=n;
}
if(s<max&&s>=min)
{
yu=(max-1)%s;
num=((max-1)/s+1);
num*=(yu+1);
num*=min;
cout<<num<<endl;
continue;
}
if(s<m&&s<n)
{
mid=(n-1)/s+1;
yu=(n-1)%s+1;
mid1=(m-1)/s+1;
yu1=(m-1)%s+1;
//cout<<mid<<" mid "<<yu<<" yu "<<mid1<<" mid 1 "<<yu1<<" yu1 "<<endl;
long long k=mid*yu;
long long k1=mid1*yu1;
num=k*k1;
cout<<num<<endl;
}
}
return 0;
}