您的位置:首页 > 财经 > 产业 > 宿迁房产网二手房_图片生成器免费_义乌最好的电商培训学校_网站建设公司网站

宿迁房产网二手房_图片生成器免费_义乌最好的电商培训学校_网站建设公司网站

2024/12/23 9:58:12 来源:https://blog.csdn.net/2301_80484340/article/details/142714196  浏览:    关键词:宿迁房产网二手房_图片生成器免费_义乌最好的电商培训学校_网站建设公司网站
宿迁房产网二手房_图片生成器免费_义乌最好的电商培训学校_网站建设公司网站

洛谷P2241-统计方形

题目描述:

有一个 n×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。


import java.util.*;
public class Main {public static void main(String[] args) {Scanner in=new Scanner(System.in);int n=in.nextInt();int m=in.nextInt();int sum=0,square=0;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){//sum为所有矩形总数sum += i * j;//square为正方形个数square += i < j ? i : j;	}//输出正方形数 和 矩形数(不包括正方形)System.out.println(square+" "+(sum-square));}
}

测试用例:输入:2   3                                    输出:8   10


思路:

所有方形的个数=正方形的个数+长方形的个数。对于任意一个n行m列的矩形,以这个方形右下角的那个块作为要在矩形内选择正方形或长方形的右下角,则正方形的个数为min(i,j),长方形的个数为i∗j

解释如下:

对于一个n行m列的矩形,右下角的块必选,则能和这个块组成的正方形的右上角块全在这个主对角线上,而对角线上块的数量就是min(i,j)。对于矩形来说,n行m列的矩形内所有点都能和右下角的这个点构成长方形,所以长方形的数量就是i*j。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com