diff --git a/src/lib/components/TaskGrades/GradeGuidelineTable.svelte b/src/lib/components/TaskGrades/GradeGuidelineTable.svelte new file mode 100644 index 000000000..569952694 --- /dev/null +++ b/src/lib/components/TaskGrades/GradeGuidelineTable.svelte @@ -0,0 +1,63 @@ + + +
+
+ AtCoder Beginners Contest(通称、ABC)の配点・問題と、対応するグレードの目安を示しています。 +
+
+ また、各グレードの基準に関しては、 + + をご覧ください。 +
+
+ +
+ + + ABCの配点 + + 対応グレード + + + + {#each gradeGuidelineTableData as { point, task, lowerGrade, upperGrade }} + + {point} + + + {#if upperGrade === lowerGrade} + + + + {:else} + + +

+ +
+ {/if} +
+ {/each} +
+
+
diff --git a/src/lib/components/TaskGrades/grade_guideline_table_data.ts b/src/lib/components/TaskGrades/grade_guideline_table_data.ts new file mode 100644 index 000000000..01ff26fcd --- /dev/null +++ b/src/lib/components/TaskGrades/grade_guideline_table_data.ts @@ -0,0 +1,127 @@ +import { TaskGrade } from '$lib/types/task'; + +type TaskGradeGuideline = { + point: string; + task: string; + lowerGrade: TaskGrade; + upperGrade: TaskGrade; +}; + +type TaskGradeGuidelines = TaskGradeGuideline[]; + +export const gradeGuidelineTableData: TaskGradeGuidelines = [ + { + point: '〜 100', + task: '(JOI 一次予選 A)', + lowerGrade: TaskGrade.Q10, + upperGrade: TaskGrade.Q10, + }, + { + point: '100', + task: 'A', + lowerGrade: TaskGrade.Q9, + upperGrade: TaskGrade.Q6, + }, + { + point: '150', + task: 'A、B', + lowerGrade: TaskGrade.Q7, + upperGrade: TaskGrade.Q5, + }, + { + point: '200', + task: 'B', + lowerGrade: TaskGrade.Q6, + upperGrade: TaskGrade.Q4, + }, + { + point: '250', + task: 'B、C', + lowerGrade: TaskGrade.Q5, + upperGrade: TaskGrade.Q3, + }, + { + point: '300', + task: 'C', + lowerGrade: TaskGrade.Q4, + upperGrade: TaskGrade.Q2, + }, + { + point: '350', + task: 'C、D', + lowerGrade: TaskGrade.Q3, + upperGrade: TaskGrade.Q1, + }, + { + point: '400', + task: 'D', + lowerGrade: TaskGrade.Q2, + upperGrade: TaskGrade.Q1, + }, + { + point: '425', + task: 'D、E', + lowerGrade: TaskGrade.Q2, + upperGrade: TaskGrade.Q1, + }, + { + point: '450', + task: 'D、E', + lowerGrade: TaskGrade.Q1, + upperGrade: TaskGrade.D1, + }, + { + point: '475', + task: 'E、F', + lowerGrade: TaskGrade.Q1, + upperGrade: TaskGrade.D2, + }, + { + point: '500', + task: 'E、F', + lowerGrade: TaskGrade.Q1, + upperGrade: TaskGrade.D3, + }, + { + point: '525', + task: 'F', + lowerGrade: TaskGrade.D1, + upperGrade: TaskGrade.D3, + }, + { + point: '550', + task: 'F', + lowerGrade: TaskGrade.D2, + upperGrade: TaskGrade.D4, + }, + { + point: '575', + task: 'F、G', + lowerGrade: TaskGrade.D3, + upperGrade: TaskGrade.D4, + }, + { + point: '600', + task: 'G', + lowerGrade: TaskGrade.D3, + upperGrade: TaskGrade.D4, + }, + { + point: '625', + task: 'G', + lowerGrade: TaskGrade.D3, + upperGrade: TaskGrade.D5, + }, + { + point: '650', + task: 'G', + lowerGrade: TaskGrade.D4, + upperGrade: TaskGrade.D5, + }, + { + point: '675', + task: 'G', + lowerGrade: TaskGrade.D5, + upperGrade: TaskGrade.D6, + }, +]; diff --git a/src/lib/constants/urls.ts b/src/lib/constants/urls.ts index 7b14b2df8..508bbb7bd 100644 --- a/src/lib/constants/urls.ts +++ b/src/lib/constants/urls.ts @@ -22,3 +22,6 @@ export const AOJ_PCK_URL: string = 'https://pro-ktmr.github.io/aoj-pck/'; export const ICPC_JAPAN_PROBLEMS_URL: string = 'https://icpc-japan-problems.irrrrr.cc/'; export const GITHUB_URL: string = 'https://github.com/AtCoder-NoviSteps/AtCoderNoviSteps'; + +export const TASK_GRADE_CRITERIA_SHEET_URL: string = + 'https://docs.google.com/spreadsheets/d/1GJbTRRBsoBaY-CXIr3dIXmxkwacV4nHOTOIMCmo__Ug/'; diff --git a/src/routes/problems/+page.svelte b/src/routes/problems/+page.svelte index 557429332..499b3b367 100644 --- a/src/routes/problems/+page.svelte +++ b/src/routes/problems/+page.svelte @@ -1,11 +1,14 @@