题目链接
判断条件就是看能否被整除。
背包问题?
Description
背包问题作为一种较为特殊的动态规划问题,以其独特的思维方式较为广泛的应用于实际生活当中。又因实际条件决定进而细分为完全背包,01背包,分组背包等等。
现在我们有一间房间需要铺设地板,房间的规格为n*m,地板为正方形,规格为 x ∗ x x*x x∗x。现在问题来了,问在不切割地板的前提下能否将整个房间铺满,显然地板不可重叠。
Input
单组输入。输入三个整数,n,m,x(1 <= n,m,x <= 1000)分别代表房间以及地板的规格。
Output
若能在前述条件下将房间铺满,则输出一个正整数,其值为n*m/x,
否则输出"NONONONO"。
Sample
Input
2 2 1
Output
4
AC代码
#include<bits/stdc++.h>
using namespace std;
int check(int m,int n, int x)
{
if(m % x == 0 && n % x == 0)
return (m*n)/x;
else return -1;
}
int main()
{
int m,n,x;
cin>>m>>n>>x;
if(check(m,n,x) == -1)cout<<"NONONONO"<<endl;
else cout<<check(m,n,x)<<endl;
return 0;
}