core: 修复作业成绩表计分异常的问题

This commit is contained in:
undefined committed 2021-01-25 22:37:51 +08:00
1 parent f0b9bee937
commit f0c1b49ac1
4 files changed
+5 -6

No files matched your search

+3 -3
View File
@@ -214,7 +214,7 @@ const homework: ContestRule = {
stat: (tdoc, journal) => {
const effective = {};
for (const j of journal) {
if (tdoc.pids.includes(j.pid) && !effective[j.pid] && j.accept) {
if (tdoc.pids.includes(j.pid) && (!effective[j.pid] || j.accept)) {
effective[j.pid] = j;
}
}
@@ -248,7 +248,7 @@ const homework: ContestRule = {
}
return {
score: Math.sum(detail.map((d) => d.score)),
penaltyScore: Math.sum(detail.map((d) => d.penaltySince)),
penaltyScore: Math.sum(detail.map((d) => d.penaltyScore)),
time: Math.sum(detail.map((d) => d.time)),
detail,
};
@@ -300,7 +300,7 @@ const homework: ContestRule = {
const rows = [columns];
for (const [rank, tsdoc] of rankedTsdocs) {
const tsddict = {};
for (const item of tsdoc.journal || []) {
for (const item of tsdoc.detail || []) {
tsddict[item.pid] = item;
}
const row = [