【语法】顺序结构 9.铺地砖 救救我要抓狂啦!!!

题目ID:1177

题目描述

有一个音乐会的场地需要铺砖,假设场地是n∗mn∗m的矩形,小明有很多a∗aa∗a的地砖,现在小明想知道,要铺满整块地板(允许地砖覆盖的范围比场地的范围大),至少需要多少块a∗aa∗a的地砖。地砖不允许打碎,切割。

输入格式:

输入一行,包含三个正整数n,m,an,m,a 表示场地的长和宽,以及每个正方形地砖的边长。

输出格式:

输出一行,包含一个整数表示至少需要的地砖数量。

样例输入:

6 6 4

样例输出:

4

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int m,n,a,b,c;
	cin>>m>>n>>a;
    if(m%a==0 && n%a==0){
    	if(m==a && n==a)
	    cout<<"1";
	    else if(m!=a && n!=a && m==n)
	    cout<<(m/a)*(m/a);
	}
	else if(m%a>0 && n%a==0){
	    cout<<m/a+1;
	}
	else if(n%a>0 && m%a==0){
		cout<<n/a+1;
	}
	else if(m%a>0 && n%a>0){
		if(m==n){
			b=m/a+1;
			c=n/a+1;
			cout<<b+c-1+m/a*2;
		}
		else if(m>n){
			b=m/a+1;
			c=n/a+1;
			cout<<b+c-1+m/a;
		}
		else if(m<n){
			b=m/a+1;
			c=n/a+1;
			cout<<b+c-1+n/a;
		}
	}
	   
}

深夜改到12点啦!
望大家救我一救!!!

1 个赞

你写太长了,还错的
m/a向上取整*n/a向上取整
m/a向上取整是(m+a-1)/a
n/a向上取整是(n+a-1)/a
直接输出这两串式子的积

1 个赞

@sxxyzx043 就这么简单

谢谢你!!!

给个解决方案 @sxxyzx043