您的位置:首页 > 其它

【160406 20:00】二维矩阵中的最大联通子数组和

2016-05-16 08:39 369 查看
此篇讲的是截止时间至 4 月 6 日 20:00 的二维矩阵中的最大联通子数组和问题之小结。相应的题目,可以见王建民老师的博客中第 3 题:

http://www.cnblogs.com/wangjm1975/p/5411663.html

问题简析

这是一个最优化问题,在前两题的指引下,我们很容易会往动态规划方向去思考。不过很遗憾,本题用动态规划是解决不了的——用动态规划方法解决的,都会在某种情形下失效(得到错误答案)。事实上,虽然未经完整证明,但这可能是一个 NP 困难问题。因此,尝试用动态规划在多项式时间内解决,是不现实的。

评分标准

这次作业满分 10 分,采取扣分制与体验分相结合的方式。具体来说:

每见到一处问题/缺陷,扣除该类问题/缺陷相应的分数;

运行以下测试用例,程序每出现一个不符合预期的行为,扣 0.5 分;

与此同时,还会有 \(\pm 1\) 分的体验分浮动:博文结构清晰、排版整洁、代码清爽等情况酌情加分,反之扣分。

测试用例及测试脚本

可在此下载:

http://files.cnblogs.com/files/ChenMeng0518/maxConnectiveSubArraySum.tar.gz

9 个测试用例的预期输出:

程序应当识别空矩阵,提示错误或抛出异常

程序应当识别不合法的输入,提示错误或抛出异常

单点及纯负数,应当返回 -1

单行,应当返回 16

应当返回 6

应当返回 49

应当返回 50

应当返回 135

应当返回 139

每个测试用例都有四种形式,以应对同学们读入文件的不同风格。因此,如果测试失败,请不要以「文件形式不同」的原因来找我。

普通形式:

2,
2,
1, 2
3, 4

空格形式:

2,
2,
1 2
3 4

全空格模式:

2
2
1 2
3 4

逗号形式:

2,
2,
1, 2, 3, 4

10 分

作业迟交超过 24 小时

未能完成任务

5 分

没有提交代码(至少核心代码)

2 分

作业迟交,但未超过 24 小时

博文代码没有使用「代码模式」编辑(这很重要,已经是第 7 次作业了,因此提升权重,望引起重视)

博文中,非代码内容使用了「代码模式」编辑(这很重要,已经是第 7 次作业了,因此提升权重,望引起重视)

1 分

没有阐述设计思想

没有运行结果截图

没有总结分析;或总结中没有实际内容:对本次编程的分析或遇到的问题和解决方法

每项 0.5 -- 2 分

额外的问题

Cpp 编程,忽略
namespace


Cpp 编程,使用
void main ()
而不是
int main ()


Cpp 编程,标准库头文件都没有
.h
结尾

不恰当的循环变量,可能引起数组越界,引发 core dump

new
了没有
delete
或者
malloc
了没有
free


现阶段不要用非标准的函数(例如
sscanf_s
),无谓地降低自己程序的可移植性。

评分结果

学号截至上次作业得分小计160406 20:00小计
20122951300.530.5
20132897385.543.5
2013290022.53.526
2013290237.55.543
20132907404.544.5
2013291741.5546.5
2013292238644
2013292726.51.528
2013293540.55.546
2013296734.54.539
2013297025.53.529
2013298437.5744.5
20132985345.539.5
20133005324.536.5
2013300935.55.541
2013301232.53.536
20133014194.523.5
20133018224.526.5
20133039376.543.5
2013304029534
20133045383.541.5
2013304830.5535.5
20133051394.543.5
20133054406.546.5
2013305723.5730.5
2013305927734
2013306216.54.521
2013306430.53.534
20133070313.534.5
20133075323.535.5
2013307844852
2013308133.54.538
20133087343.537.5
2013310041.57.549
2013289913013
20132901153.518.5
2013290338.55.544
2013291038.55.544
2013291242648
2013291949.56.556
2013292450.56.557
20132958425.547.5
2013295940646
2013296540646
2013297138644
2013298036.5743.5
20133004341.535.5
20133008325.537.5
20133010142.516.5
20133013353.538.5
2013301730.53.534
20133019363.539.5
2013302440.55.546
2013302741.55.547
2013303126.50.527
20133042275.532.5
20133043505
201330444.504.5
20133047170.517.5
2013305628230
2013305837.55.543
20133063273.530.5
2013306621.53.525
2013307331.52.534
2013307734.55.540
2013307937.5845.5
20133088110.511.5
2013309325.53.529
20133099213.524.5
2013310138.57.546

其他问题

如果有同学认为自己的作业,评分与预期有差;或者有新的补充。

那么建议你通过博客园站内短消息的方式联系我,或者在你的作业后回帖留言(记得 @ 我)。

你也可以在这篇博文下直接回复。不过不推荐你这样做……

软件工程的意义

欢迎参看下面的文章:

http://www.cnblogs.com/ChenMeng0518/p/5460435.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: