diff --git a/packages/hydrojudge/src/judge/objective.ts b/packages/hydrojudge/src/judge/objective.ts index 2acaa0d64..a278325a9 100644 --- a/packages/hydrojudge/src/judge/objective.ts +++ b/packages/hydrojudge/src/judge/objective.ts @@ -39,7 +39,7 @@ export async function judge({ memory: 0, }; if (typeof ansInfo[0] === 'string') { - if (answer[0].trim() === answers[key].trim()) { + if (ansInfo[0].trim() === answers[key].trim()) { totalScore += score; totalStatus = Math.max(totalStatus, STATUS.STATUS_ACCEPTED); next({ diff --git a/packages/ui-default/pages/problem_detail.page.jsx b/packages/ui-default/pages/problem_detail.page.jsx index c18663d44..34bc18c23 100644 --- a/packages/ui-default/pages/problem_detail.page.jsx +++ b/packages/ui-default/pages/problem_detail.page.jsx @@ -224,9 +224,18 @@ const page = new NamedPage(['problem_detail', 'contest_detail_problem', 'homewor $('.problem-content .typo').append(document.getElementsByClassName('nav__item--round').length ? '' : ''); - $('input.objective-input').on('input', (e) => { + $('input.objective-input[type!=checkbox]').on('input', (e) => { ans[e.target.name] = e.target.value; }); + $('input.objective-input[type=checkbox]').on('input', (e) => { + if (e.target.checked) { + if (ans[e.target.name] === undefined) ans[e.target.name] = []; + ans[e.target.name].push(e.target.value); + } else { + ans[e.target.name] = ans[e.target.name].filter((v) => v !== e.target.value); + } + console.log(ans); + }); $('input[type="submit"]').on('click', (e) => { e.preventDefault(); request