求第二题的测试数据或测试方法

xuhuimiao 2007-07-23 03:27:47
第二题我采用的测试数据为
int rect[21]={n,5,2,3,2,1,1,1,2,2,3, 3,4, 4,5, 5,6, 6,6, 3,1};
n=5时结果为area = 25 = 5*5,图示如下
.--^^
.--^^
&--^^
$$$^^
$$$^^

n=8时结果为area = 90 = 18*5, 图示如下
..-^^$$$&&&&&&####
***^^$$$&&&&&&####
***^^$$$&&&&&&####
@@@@@$$$&&&&&&####
@@@@@ &&&&&&####

n=10时结果为area = 126 = 21*6,图示如下
...--^$$&&#####@@@@@@
!!!!~~$$&&#####@@@@@@
!!!!~~$$&&#####@@@@@@
!!!!~~****#####@@@@@@
!!!!~~****#####@@@@@@
!!!!~~****#####@@@@@@

前面n=5和n=10两种情况结果显然是正确的,因为所求出的面积恰好等于所有矩形面积和;但是对于n为其他值时(如n=7时),无法验证结果是否正确。因此,希望大家帮忙给出正确的测试数据及结果。
所给的数据尽量0到100间随机分布。
能够提供测试方法更好。
...全文
545 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
aliceZOOZ 2007-08-05
  • 打赏
  • 举报
回复
to teal: 您是这次测试人员吗?
您说的是8月1日前的数据的情况,还是8月1日测试人员复查时的情况?
teal 2007-08-04
  • 打赏
  • 举报
回复
本次测试数据,就是最大的一个固定的。不需要进行全部遍历
aliceZOOZ 2007-07-30
  • 打赏
  • 举报
回复
评判标准是 AC/WA 这种形式的题目,不适合于求近似解,特别是当评判标准还与运行时间相关的时候。

如果改为 分数是 运行时间 & 最优性 的一个加权,然后再多组数据求和,会比较正常些。
godss 2007-07-29
  • 打赏
  • 举报
回复
n再弄大个几倍,在最小值%105以内都算AC,这个题就很有意思了,呵呵
aliceZOOZ 2007-07-29
  • 打赏
  • 举报
回复
to godss
cool...
i need about 270s on my core 2 duo 2.4GHz desktop. (i think core 2 duo 2.4G is better than P4D 2.8G, am i right?)

xuhuimiao 2007-07-29
  • 打赏
  • 举报
回复
whycadi(保护视力)
我的测试结果:
n=6 476 (*)
n=7 663
n=8 756 (*)
n=9 910
n=10 966 (*)
n=10的排列如下:
4444444444444444666666666666666662222277777777
4444444444444444666666666666666662222277777777
4444444444444444666666666666666662222277777777
4444444444444444666666666666666662222277777777
4444444444444444666666666666666662222277777777
4444444444444444666666666666666662222277777777
4444444444444444666666666666666662222277777777
8888888888111111666666666666666662222277777777
8888888888111111666666666666666662222277777777
8888888888111111666666666666666662222277777777
8888888888111111666666666666666662222277777777
8888888888111111000000055555555555555 77777777
8888888888111111000000055555555555555333333333
8888888888111111000000055555555555555333333333
8888888888111111000000055555555555555333333333
8888888888999999999999955555555555555333333333
8888888888999999999999955555555555555333333333
8888888888999999999999955555555555555333333333
8888888888999999999999955555555555555333333333
8888888888999999999999955555555555555333333333
8888888888999999999999955555555555555333333333
teal 2007-07-29
  • 打赏
  • 举报
回复
的确是只排了一组数据,首先将面积最大的固定,由于采用了这种贪心的思想,
所以,不一定得到最优解。

只可惜第二题提交次数已满,只好作罢。

各位好运。
whycadi 2007-07-29
  • 打赏
  • 举报
回复
我开始就是只搜一组,感谢huanyun(无妻徒刑)指出了错误,我全排列跑了一次,证明的确是错了。
但是我现在的算法出现了很多重复或对称的情况,没有什么好办法消除这些。请问大家怎么来消除对称和重复的情况?
godss 2007-07-29
  • 打赏
  • 举报
回复
aliceZOOZ(alice)
这个数据……
俺要跑210s左右,P42.8G双核
godss 2007-07-29
  • 打赏
  • 举报
回复
teal(茶茶)
的方法看来只搜索了一组的吧,只把11 17的放在左上角的吧
aliceZOOZ 2007-07-29
  • 打赏
  • 举报
回复
数字一大就很容易慢,比如这个
10
80 6
22 91
8 69
83 90
63 1
90 76
15 18
7 1
11 79
77 77

ans=25284
whycadi 2007-07-29
  • 打赏
  • 举报
回复
多谢楼上。
看来我的假设是错的T_T
那还是只能全排列了,但是这样时间就太多了,跑一次要好几百秒。
teal 2007-07-29
  • 打赏
  • 举报
回复
10
7 4
6 8
11 5
9 9
7 16
14 10
11 17
12 8
14 10
13 6

n=6 476 (*)
n=7 663
n=8 756 (*)

n=9 910
n=10 我计算结果是: 975这个结果是错的,应该是xuhuimiao计算的966.还是 xuhuimiao的比较强悍。
10
7 15
6 8
11 5
14 16
14 8
14 10
11 17
12 8
13 9
4 7
这组数据我也有不同的结果,s = 1125.其他人的结果?

huanyun 2007-07-29
  • 打赏
  • 举报
回复
10
7 15
6 8
11 5
14 16
14 8
14 10
11 17
12 8
13 9
4 7

s = 1120
huanyun 2007-07-29
  • 打赏
  • 举报
回复
你的答案是错误的
whycadi 2007-07-28
  • 打赏
  • 举报
回复
上面几组都没有相等的矩形和正方形出现。我做了一组,有两个相同的矩形和一个正方形,计算速度就快很多了,大家帮我看下结果对不对
10
7 4
6 8
11 5
9 9
7 16
14 10
11 17
12 8
14 10
13 6

n=6 480
n=7 663
n=8 765
n=9 910 0.468000000s
n=10 986 6.578000000s
whycadi 2007-07-28
  • 打赏
  • 举报
回复
我的上面几组数据的结果,大家帮我看看是不是对的,大家还有什么数据也发一下把
10
2 3
1 7
6 4
14 16
14 8
14 7
11 17
12 8
13 6
15 13

n=6 490
n=8 775
n=9 851
n=10 1050

10
7 15
6 8
11 5
14 16
14 8
14 10
11 17
12 8
13 9
4 7
---------------------------------
这是上面那个9个数的,我加了个数,大家看看结果对不对
n=5 594
n=6 714
n=7 918
n=8 990
n=9 1088
n=10 1125
-------------------------
Sn=1, 17 ,11
Sn=2, 16 ,14
Sn=3, 15 ,7
Sn=4, 14 ,10
Sn=5, 14 ,8
Sn=6, 13 ,9
Sn=7, 12 ,8
Sn=8, 11 ,5
Sn=9, 8 ,6
Sn=10, 7 ,4
Consequence is: 1 ,2 ,6 ,7 ,8 ,4 ,9 ,5 ,3 ,10 ,
Size is 1125=45*25 Use time 12.250000000
111111111111111116666666668888844444444444444
111111111111111116666666668888844444444444444
111111111111111116666666668888844444444444444
111111111111111116666666668888844444444444444
111111111111111116666666668888844444444444444
111111111111111116666666668888844444444444444
111111111111111116666666668888844444444444444
111111111111111116666666668888844444444444444
111111111111111116666666668888844444444444444
111111111111111116666666668888844444444444444
1111111111111111166666666688888 AAAA3333333
2222222222222222 66666666699999999AAAA3333333
2222222222222222 66666666699999999AAAA3333333
222222222222222277777777 99999999AAAA3333333
222222222222222277777777 99999999AAAA3333333
222222222222222277777777 99999999AAAA3333333
222222222222222277777777 99999999AAAA3333333
222222222222222277777777555555555555553333333
222222222222222277777777555555555555553333333
222222222222222277777777555555555555553333333
222222222222222277777777555555555555553333333
222222222222222277777777555555555555553333333
222222222222222277777777555555555555553333333
222222222222222277777777555555555555553333333
222222222222222277777777555555555555553333333

whycadi 2007-07-28
  • 打赏
  • 举报
回复
楼上的兄弟,你很强的!
我的X3600算了800多秒!!
不过我发现所有的最小组合其实都在第一个和第二个矩形开头的这种组合里就找到了,以后的运算都不能更新这个最小值,所以我把后面各种开头组合都砍了,然后就只要30多秒了。
但我不知道这种假设是否是正确的,希望大家多给点测试数据来试试。
aliceZOOZ 2007-07-26
  • 打赏
  • 举报
回复
10
2 3
1 7
6 4
14 16
14 8
14 7
11 17
12 8
13 6
15 13

答案1050
aliceZOOZ 2007-07-26
  • 打赏
  • 举报
回复
>>n=8时结果为area = 90 = 18*5, 图示如下
可以area=88=11*8吧
加载更多回复(3)

568

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧