主题:超难题目
LSQ
[专家分:220] 发布于 2005-07-05 10:20:00
[em36]
谁会编这道题目!
输入一个N*M的长方形,输出它有几个长方形和几个正方形.
回复列表 (共4个回复)
沙发
moz [专家分:37620] 发布于 2005-07-05 11:50:00
以什么为单位分割?
题目是不是该详细一点?
输入一个N*M的长方形(N,M为正整数),
以1为单位将这个长方形纵横分割,
求这个网状图形中能找到多少个长方形和多少个正方形?
(长方形计数中包含正方形).
排列组合问题.但是要注意立体图形.
板凳
moz [专家分:37620] 发布于 2005-07-05 13:06:00
假如我没有理解错题意的话:
1. 定位这个网状图形的点
2. 长方形存在于不在同一水平线和垂直线上的两点
(线不作为长方形的特殊形式)
(为了不计算重复,以小的点为起点角,大的点为终点角)
3. 正方形就是两个点的距离相等.
知道这几个特点,就容易得多了.
deflng a-z
input "N,M",N,M
dim s(N,M)
for i=0 to N
for j=0 to M
for k=(i+1) to N
for l=(j+1) to M
c=c+1
if k-i=l-j then z=z+1
next l,k,j,i
print "长方形有";c;"个"
print "正方形有";z;"个"
这是穷举的办法,
至于数学方法嘛.....汗!!!!!!!!!!!!!!!! 不好意思,书没读好.
3 楼
def [专家分:3380] 发布于 2005-07-05 23:46:00
很简单,如果M=N,长方形0个正方形1个,如果不是则长方形1个正方形0个[em12]
4 楼
LSQ [专家分:220] 发布于 2005-07-06 17:40:00
谢谢你,moz.
我来回复