记第一次在codefoces上做题

原创
2015/09/21 20:20
阅读数 37

A. Theatre Square

time limit per test

2 seconds

memory limit per test

64 megabytes

input

standard input

output

standard output

Theatre Square in the capital city of Berland has a rectangular shape with the size n × m meters. On the occasion of the city's anniversary, a decision was taken to pave the Square with square granite flagstones. Each flagstone is of the size a × a.

What is the least number of flagstones needed to pave the Square? It's allowed to cover the surface larger than the Theatre Square, but the Square has to be covered. It's not allowed to break the flagstones. The sides of flagstones should be parallel to the sides of the Square.

Input

The input contains three positive integer numbers in the first line: n,  m and a (1 ≤  n, m, a ≤ 109).

Output

Write the needed number of flagstones.

Sample test(s)

input

6 6 4

output

4

本来就是挺简单的一道题,也就是打开编译器,随手就写出来了,结果竟然是提交了半个小时才ac!想哭。。。

第一次代码:

#include<iostream>
using namespace std;
int main()
{
    int m,n,a;
    cin>>m>>n>>a;
    m=(m%a)?(m/a+1):m/a;
    n=(n%a)?(n/a+1):n/a;
    cout<<n+m<<endl;
}

测试

input

6 6 4

output

4

显示正确,但是submit之后wronganswer,仔细检查之后发现是m+n应该是m*n(2+2=2*2)

第二次代码:

#include<iostream>
using namespace std;
int main()
{
    int m,n,a;
    cin>>m>>n>>a;
    m=(m%a)?(m/a+1):m/a;
    n=(n%a)?(n/a+1):n/a;
    cout<<n*m<<endl;
}

submit之后也是wa,发现是越界!!!遂把int改为long,随后又改成long long 才通过。

最后一次:

#include<iostream>
using namespace std;
int main()
{
    long long m,n,a;
    cin>>m>>n>>a;
    m=(m%a)?(m/a+1):m/a;
    n=(n%a)?(n/a+1):n/a;
    cout<<n*m<<endl;
}

总结,注意越界,注意细节!

come on!

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部