diff --git a/prisma/tasks.ts b/prisma/tasks.ts index 58f4bf2b7..be18958a1 100755 --- a/prisma/tasks.ts +++ b/prisma/tasks.ts @@ -8844,6 +8844,20 @@ export const tasks = [ name: 'Driving on a Tree', title: 'D. Driving on a Tree', }, + { + id: 'bitflyer2018_qual_c', + contest_id: 'bitflyer2018-qual', + problem_index: 'C', + name: '徒歩圏内', + title: 'C. 徒歩圏内', + }, + { + id: 'tkppc4_2_g', + contest_id: 'tkppc4-2', + problem_index: 'G', + name: '平均レーティング', + title: 'G. 平均レーティング', + }, { id: 'awtf2025_e', contest_id: 'awtf2025algo-open', @@ -16866,6 +16880,13 @@ export const tasks = [ name: 'Traditional Company', title: '3171. Traditional Company', }, + { + id: '3183', + contest_id: 'AOJ-HUPC2020-in-HUPC2020-day3', + problem_index: '3183', + name: 'Flipping a Path', + title: '3183. Flipping a Path', + }, { id: '3369', contest_id: 'AOJ-HUPC2023-in-OUPC2023-day2', @@ -16901,4 +16922,11 @@ export const tasks = [ name: 'Ikomiki String', title: '3412. Ikomiki String', }, + { + id: '2207', + contest_id: 'AOJ-UTPC2010', + problem_index: '2207', + name: 'Consistent Unit System', + title: '2207. Consistent Unit System', + }, ]; diff --git a/src/lib/utils/contest.ts b/src/lib/utils/contest.ts index b01ec5980..3da6df5a2 100644 --- a/src/lib/utils/contest.ts +++ b/src/lib/utils/contest.ts @@ -275,10 +275,12 @@ const ATCODER_OTHERS: ContestPrefix = { 'code-thanks-festival': 'CODE THANKS FESTIVAL', donuts: 'Donutsプロコンチャレンジ', indeednow: 'Indeedなう', + 'tkppc4-2': '技術室奥プログラミングコンテスト#4 Day2', 'dwango2016-prelims': '第2回 ドワンゴからの挑戦状 予選', 'dwacon2017-prelims': '第3回 ドワンゴからの挑戦状 予選', 'mujin-pc-2016': 'Mujin Programming Challenge 2016', 'mujin-pc-2018': 'Mujin Programming Challenge 2018', + 'bitflyer2018-qual': 'codeFlyer (bitFlyer Programming Contest)', soundhound2018: 'SoundHound Inc. Programming Contest 2018 (春)', 'pakencamp-2018-day3': 'パ研合宿コンペティション 3日目', 'pakencamp-2024-day1': 'パ研合宿2024 第1日「SpeedRun」', diff --git a/src/test/lib/utils/test_cases/contest_name_and_task_index.ts b/src/test/lib/utils/test_cases/contest_name_and_task_index.ts index 601134dd9..df459adc5 100644 --- a/src/test/lib/utils/test_cases/contest_name_and_task_index.ts +++ b/src/test/lib/utils/test_cases/contest_name_and_task_index.ts @@ -967,6 +967,12 @@ const AOJ_UNIVERSITY_TEST_DATA = [ taskTableIndex: '3412', expected: 'AOJ 3412(OUPC 2024 Day1)', }, + { + contestId: 'AOJ-HUPC2020-in-HUPC2020-day3', + taskTableIndex: '3183', + expected: 'AOJ 3183(HUPC 2020 in HUPC 2020 Day3)', + }, + { contestId: 'AOJ-UTPC2010', taskTableIndex: '2207', expected: 'AOJ 2207(UTPC 2010)' }, ]; export const aojUniversity = AOJ_UNIVERSITY_TEST_DATA.map( diff --git a/src/test/lib/utils/test_cases/contest_name_labels.ts b/src/test/lib/utils/test_cases/contest_name_labels.ts index e4a990a99..766b93ef6 100644 --- a/src/test/lib/utils/test_cases/contest_name_labels.ts +++ b/src/test/lib/utils/test_cases/contest_name_labels.ts @@ -64,6 +64,14 @@ export const atCoderOthers = [ contestId: 'code-festival-2015-exhibition', expected: 'CODE FESTIVAL 2015 エキシビション', }), + createTestCaseForContestNameLabel('codeFlyer (bitFlyer Programming Contest)')({ + contestId: 'bitflyer2018-qual', + expected: 'codeFlyer (bitFlyer Programming Contest)', + }), + createTestCaseForContestNameLabel('技術室奥プログラミングコンテスト#4 Day2')({ + contestId: 'tkppc4-2', + expected: '技術室奥プログラミングコンテスト#4 Day2', + }), createTestCaseForContestNameLabel('パ研合宿2024 第1日「SpeedRun」')({ contestId: 'pakencamp-2024-day1', expected: 'パ研合宿2024 第1日「SpeedRun」', @@ -246,6 +254,10 @@ export const aojUniversity = [ contestId: 'AOJ-HUPC2019-in-HUPC2019-day2', expected: '(HUPC 2019 in HUPC 2019 Day2)', }), + createTestCaseForContestNameLabel('AOJ, HUPC 2020 in HUPC 2020 Day3')({ + contestId: 'AOJ-HUPC2020-in-HUPC2020-day3', + expected: '(HUPC 2020 in HUPC 2020 Day3)', + }), createTestCaseForContestNameLabel('AOJ, OUPC 2020')({ contestId: 'AOJ-OUPC2020', expected: '(OUPC 2020)', @@ -254,4 +266,8 @@ export const aojUniversity = [ contestId: 'AOJ-OUPC2024-day1', expected: '(OUPC 2024 Day1)', }), + createTestCaseForContestNameLabel('AOJ, UTPC 2010')({ + contestId: 'AOJ-UTPC2010', + expected: '(UTPC 2010)', + }), ]; diff --git a/src/test/lib/utils/test_cases/contest_type.ts b/src/test/lib/utils/test_cases/contest_type.ts index 086d6fa6f..cb5118fd8 100644 --- a/src/test/lib/utils/test_cases/contest_type.ts +++ b/src/test/lib/utils/test_cases/contest_type.ts @@ -484,6 +484,10 @@ export const atCoderOthers = [ contestId: 'indeednow-qualb', expected: ContestType.OTHERS, }), + createTestCaseForContestType('技術室奥プログラミングコンテスト#4 Day2')({ + contestId: 'tkppc4-2', + expected: ContestType.OTHERS, + }), createTestCaseForContestType('第2回 ドワンゴからの挑戦状 予選')({ contestId: 'dwango2016-prelims', expected: ContestType.OTHERS, @@ -504,6 +508,10 @@ export const atCoderOthers = [ contestId: 'soundhound2018', expected: ContestType.OTHERS, }), + createTestCaseForContestType('codeFlyer (bitFlyer Programming Contest)')({ + contestId: 'bitflyer2018-qual', + expected: ContestType.OTHERS, + }), createTestCaseForContestType('パ研合宿コンペティション 3日目')({ contestId: 'pakencamp-2018-day3', expected: ContestType.OTHERS, @@ -717,6 +725,7 @@ export const aojIcpc = aojIcpcContestData.map(({ name, contestId }) => const aojUniversityContestData = [ { name: 'AOJ, RUPC 2025 in ACPC 2025 Day1', contestId: 'AOJ-RUPC2025-in-ACPC2025-day1' }, { name: 'AOJ, RUPC 2018 in ACPC 2018 Day1', contestId: 'AOJ-RUPC2018-in-ACPC2018-day1' }, + { name: 'AOJ, HUPC 2020 in HUPC 2020 Day3', contestId: 'AOJ-HUPC2020-in-HUPC2020-day3' }, { name: 'AOJ, HUPC 2020 in HUPC 2020 Day1', contestId: 'AOJ-HUPC2020-in-HUPC2020-day1' }, { name: 'AOJ, HUPC 2018 in ACPC 2018 Day3', contestId: 'AOJ-HUPC2018-in-ACPC2018-day3' }, { name: 'AOJ, UAPC 2019 in RUPC 2019 Day2', contestId: 'AOJ-UAPC2019-in-RUPC2019-day2' }, @@ -730,6 +739,7 @@ const aojUniversityContestData = [ { name: 'AOJ, RUPC 2017 in ACPC 2017 Day1', contestId: 'AOJ-RUPC2017-in-ACPC2017-day1' }, { name: 'AOJ, HUPC 2019 in HUPC 2019 Day2', contestId: 'AOJ-HUPC2019-in-HUPC2019-day2' }, { name: 'AOJ, UAPC 2018 in RUPC 2018 Day2', contestId: 'AOJ-UAPC2018-in-RUPC2018-day2' }, + { name: 'AOJ, UTPC 2010', contestId: 'AOJ-UTPC2010' }, ]; export const aojUniversity = aojUniversityContestData.map(({ name, contestId }) => diff --git a/src/test/lib/utils/test_cases/task_url.ts b/src/test/lib/utils/test_cases/task_url.ts index 909609f5a..79fa865f5 100644 --- a/src/test/lib/utils/test_cases/task_url.ts +++ b/src/test/lib/utils/test_cases/task_url.ts @@ -200,8 +200,10 @@ export const aojIcpc = icpcContests.flatMap((icpc) => const aojUniversityContests = [ { contestId: 'AOJ-RUPC2018-in-ACPC2018-day1', tasks: ['2903', '2904'] }, { contestId: 'AOJ-UAPC2019-in-RUPC2019-day2', tasks: ['3058', '3059'] }, + { contestId: 'AOJ-HUPC2020-in-HUPC2020-day3', tasks: ['3183'] }, { contestId: 'AOJ-HUPC2020-in-HUPC2020-day1', tasks: ['3171', '3172'] }, { contestId: 'AOJ-OUPC2012-in-RUPC2012-day2', tasks: ['2352'] }, + { contestId: 'AOJ-UTPC2010', tasks: ['2207'] }, ]; export const aojUniversity = aojUniversityContests.flatMap((contest) =>