文章
188
粉丝
0
获赞
0
访问
46.2k

评分及理由
(1)得分及理由(满分3分)
学生给出的基本设计思想是三重循环遍历所有三元组并计算距离,保留最小值。这与标准答案中的暴力法思路一致,但未提及更高效的算法(如同向多指针法)。由于题目要求“尽可能高效的算法”,而暴力法虽然正确但不是最优,因此不能给满分。但思路本身正确,扣1分。得2分。
(2)得分及理由(满分8分)
学生用C/C++实现了三重循环的暴力算法,代码结构清晰,变量命名合理,正确计算了距离 D = |a-b|+|b-c|+|c-a|(虽然表达式中写的是abs(A[i]-B[j])+abs(A[i]-C[k])+abs(B[j]-C[k]),但数学上与标准等价)。代码中使用了INT_MAX初始化最小值,逻辑正确。但算法效率较低,未达到“尽可能高效”的要求,因此不能给满分。扣3分。得5分。
(3)得分及理由(满分2分)
学生正确分析了时间复杂度为O(n³)(实际应为O(n*m*p),但n³是简写,可接受),空间复杂度为O(1)。分析正确,得满分2分。
题目总分:2+5+2=9分
登录后发布评论
暂无评论,来抢沙发