SDUT OJ 背包问题?(铺瓷砖)

题目链接
判断条件就是看能否被整除。

背包问题?
Description
背包问题作为一种较为特殊的动态规划问题,以其独特的思维方式较为广泛的应用于实际生活当中。又因实际条件决定进而细分为完全背包,01背包,分组背包等等。

现在我们有一间房间需要铺设地板,房间的规格为n*m,地板为正方形,规格为 x ∗ x x*x xx。现在问题来了,问在不切割地板的前提下能否将整个房间铺满,显然地板不可重叠。

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;
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值