jingzhi
(jingzhi)
注册会员

中级会员
UID 30401
精华
0
积分 174
帖子 178
金钱 174 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2004-8-6
状态 离线
|
[推荐阅读] 如何 获取表单多选框值 ?
我的想法是,设三个数组,一个a存放头一列,一个b存放头一行。 一个c存放结果。其中a,b为一维。c为二维。并且如果a,b下标从0开始的话则c的下标从c[1][1]开始,或者用c[a][A]这样。
然后就是查询a中最小值的下标,b中最小值的下标,记录进两个变量am,bm中。然后在c[a]中添入 一个在0到min(am,bm)的随机数,例:c[d][f] = mt_rand(0,min(a[d],b[f]) );
然后取min(am,bm)比较小的值所在数组 继续取第二小的值。 am<min(a)。然后在该值对应下标的c数组中,添入随机0到min( bm- cr,am2).之后查看 min( b-cr , amn) 和min(a-c,bmn)是否有为零,如果出现则该列(行)结束,未满的添零。
之后继续下一步比较。时间复杂度 m*n
不知是否能通过~~~
Int a[7]
Int b[10]
Int c[6][9]
Findmin(a) : a[d]
Findmin(b) : b[f]
c[d][f]= mt_rand(0,min(a[d],b[f]) );
findsecmin(b); b[I]
c[d][I] = mt_rand(0,min( a[d]-c[d][f] ,b[I]);
[ 本帖最后由 jingzhi 于 2006-5-24 03:38 PM 编辑 ]
|
|