diff --git a/prisma/tasks.ts b/prisma/tasks.ts index c87e6343e..76a4aa9f7 100755 --- a/prisma/tasks.ts +++ b/prisma/tasks.ts @@ -6778,6 +6778,160 @@ export const tasks = [ title: 'A. 3 つの整数 (Three Integers)', grade: 'Q9', }, + { + id: 'joi2026_yo2_f', + contest_id: 'joi2026yo2', + problem_index: 'F', + name: '船 (Ship)', + title: 'F. 船 (Ship)', + }, + { + id: 'joi2026_yo2_e', + contest_id: 'joi2026yo2', + problem_index: 'E', + name: "ビ太郎の旅 3 (Bitaro's Travel 3)", + title: "E. ビ太郎の旅 3 (Bitaro's Travel 3)", + }, + { + id: 'joi2026_yo2_d', + contest_id: 'joi2026yo2', + problem_index: 'D', + name: '買い物 3 (Shopping 3)', + title: 'D. 買い物 3 (Shopping 3)', + }, + { + id: 'joi2026_yo2_c', + contest_id: 'joi2026yo2', + problem_index: 'C', + name: 'JOI エリミネーター (JOI Eliminator)', + title: 'C. JOI エリミネーター (JOI Eliminator)', + }, + { + id: 'joi2026_yo2_b', + contest_id: 'joi2026yo2', + problem_index: 'B', + name: '究極の団子職人 (Ultimate Dango Maker)', + title: 'B. 究極の団子職人 (Ultimate Dango Maker)', + }, + { + id: 'joi2026_yo2_a', + contest_id: 'joi2026yo2', + problem_index: 'A', + name: 'クラス分け (Class Division)', + title: 'A. クラス分け (Class Division)', + }, + { + id: 'joi2025_yo2_e', + contest_id: 'joi2025yo2', + problem_index: 'E', + name: '衝突 (Collision)', + title: 'E. 衝突 (Collision)', + }, + { + id: 'joi2025_yo2_d', + contest_id: 'joi2025yo2', + problem_index: 'D', + name: '親密なシェフ (Intimate Chef)', + title: 'D. 親密なシェフ (Intimate Chef)', + }, + { + id: 'joi2025_yo2_c', + contest_id: 'joi2025yo2', + problem_index: 'C', + name: 'ソフトクリーム (Softcream)', + title: 'C. ソフトクリーム (Softcream)', + }, + { + id: 'joi2025_yo2_b', + contest_id: 'joi2025yo2', + problem_index: 'B', + name: 'ビリヤード (Billiards)', + title: 'B. ビリヤード (Billiards)', + }, + { + id: 'joi2025_yo2_a', + contest_id: 'joi2025yo2', + problem_index: 'A', + name: 'マスキングテープ (Masking Tape)', + title: 'A. マスキングテープ (Masking Tape)', + }, + { + id: 'joi2020_yo2_e', + contest_id: 'joi2020yo2', + problem_index: 'E', + name: 'じゃんけん式 (Rock-Scissors-Paper Expression)', + title: 'E. じゃんけん式 (Rock-Scissors-Paper Expression)', + }, + { + id: 'joi2020_yo2_d', + contest_id: 'joi2020yo2', + problem_index: 'D', + name: 'テンキー (Tenkey)', + title: 'D. テンキー (Tenkey)', + }, + { + id: 'joi2020_yo2_c', + contest_id: 'joi2020yo2', + problem_index: 'C', + name: '桁和 (Digit Sum)', + title: 'C. 桁和 (Digit Sum)', + }, + { + id: 'joi2020_yo2_b', + contest_id: 'joi2020yo2', + problem_index: 'B', + name: 'いちご (Strawberry)', + title: 'B. いちご (Strawberry)', + }, + { + id: 'joi2020_yo2_a', + contest_id: 'joi2020yo2', + problem_index: 'A', + name: 'ポスター (Poster)', + title: 'A. ポスター (Poster)', + }, + { + id: 'joi2019_yo_f', + contest_id: 'joi2019yo', + problem_index: 'F', + name: '座席 (Seats)', + title: 'F. 座席 (Seats)', + }, + { + id: 'joi2019_yo_e', + contest_id: 'joi2019yo', + problem_index: 'E', + name: 'イルミネーション (Illumination)', + title: 'E. イルミネーション (Illumination)', + }, + { + id: 'joi2019_yo_d', + contest_id: 'joi2019yo', + problem_index: 'D', + name: '日本沈没 (Japan Sinks)', + title: 'D. 日本沈没 (Japan Sinks)', + }, + { + id: 'joi2019_yo_c', + contest_id: 'joi2019yo', + problem_index: 'C', + name: 'マルバツスタンプ (Circle Cross Stamps)', + title: 'C. マルバツスタンプ (Circle Cross Stamps)', + }, + { + id: 'joi2019_yo_b', + contest_id: 'joi2019yo', + problem_index: 'B', + name: 'すごろくと駒 (Sugoroku and Pieces)', + title: 'B. すごろくと駒 (Sugoroku and Pieces)', + }, + { + id: 'joi2019_yo_a', + contest_id: 'joi2019yo', + problem_index: 'A', + name: 'ソーシャルゲーム (Social Game)', + title: 'A. ソーシャルゲーム (Social Game)', + }, { id: 'joi2016yo_a', contest_id: 'joi2016yo', @@ -6786,6 +6940,223 @@ export const tasks = [ title: 'A. 科目選択 (Selecting Subjects)', grade: 'Q9', }, + { + id: 'joi2007yo_f', + contest_id: 'joi2007yo', + problem_index: 'F', + name: '通学経路', + title: 'F. 通学経路', + }, + { + id: 'joi2007yo_e', + contest_id: 'joi2007yo', + problem_index: 'E', + name: '品質検査', + title: 'E. 品質検査', + }, + { + id: 'joi2007yo_d', + contest_id: 'joi2007yo', + problem_index: 'D', + name: 'カードの並び替え', + title: 'D. カードの並び替え', + }, + { + id: 'joi2007yo_c', + contest_id: 'joi2007yo', + problem_index: 'C', + name: 'シーザー暗号', + title: 'C. シーザー暗号', + }, + { + id: 'joi2007yo_b', + contest_id: 'joi2007yo', + problem_index: 'B', + name: '未提出者は誰だ', + title: 'B. 未提出者は誰だ', + }, + { + id: 'joi2007yo_a', + contest_id: 'joi2007yo', + problem_index: 'A', + name: '得点', + title: 'A. 得点', + }, + { + id: 'joi2006yo_e', + contest_id: 'joi2006yo', + problem_index: 'E', + name: 'JOI 2006 予選 問題5', + title: 'E. JOI 2006 予選 問題5', + }, + { + id: 'joi2006yo_d', + contest_id: 'joi2006yo', + problem_index: 'D', + name: 'JOI 2006 予選 問題4', + title: 'D. JOI 2006 予選 問題4', + }, + { + id: 'joi2006yo_c', + contest_id: 'joi2006yo', + problem_index: 'C', + name: 'JOI 2006 予選 問題3', + title: 'C. JOI 2006 予選 問題3', + }, + { + id: 'joi2006yo_b', + contest_id: 'joi2006yo', + problem_index: 'B', + name: 'JOI 2006 予選 問題2', + title: 'B. JOI 2006 予選 問題2', + }, + { + id: 'joi2006yo_a', + contest_id: 'joi2006yo', + problem_index: 'A', + name: 'JOI 2006 予選 問題1', + title: 'A. JOI 2006 予選 問題1', + }, + { + id: 'joi2025ho_e', + contest_id: 'joi2025ho', + problem_index: 'E', + name: '郵便局 (Post Office)', + title: 'E. 郵便局 (Post Office)', + }, + { + id: 'joi2025ho_d', + contest_id: 'joi2025ho', + problem_index: 'D', + name: '長いだけのネクタイ 2 (Just Long Neckties 2)', + title: 'D. 長いだけのネクタイ 2 (Just Long Neckties 2)', + }, + { + id: 'joi2025ho_c', + contest_id: 'joi2025ho', + problem_index: 'C', + name: 'ミ・テレフェリコ (Mi Teleférico)', + title: 'C. ミ・テレフェリコ (Mi Teleférico)', + }, + { + id: 'joi2025ho_b', + contest_id: 'joi2025ho', + problem_index: 'B', + name: '勇者ビ太郎 2 (Bitaro the Brave 2)', + title: 'B. 勇者ビ太郎 2 (Bitaro the Brave 2)', + }, + { + id: 'joi2025ho_a', + contest_id: 'joi2025ho', + problem_index: 'A', + name: '色塗り (Grid Coloring)', + title: 'A. 色塗り (Grid Coloring)', + }, + { + id: 'joi2013ho5', + contest_id: 'joi2013ho', + problem_index: 'E', + name: 'バブルソート (Bubble Sort)', + title: 'E. バブルソート (Bubble Sort)', + }, + { + id: 'joi2013ho4', + contest_id: 'joi2013ho', + problem_index: 'D', + name: 'JOIOI の塔 (Tower of JOIOI)', + title: 'D. JOIOI の塔 (Tower of JOIOI)', + }, + { + id: 'joi2013ho3', + contest_id: 'joi2013ho', + problem_index: 'C', + name: '現代的な屋敷 (Modern Mansion)', + title: 'C. 現代的な屋敷 (Modern Mansion)', + }, + { + id: 'joi2013ho2', + contest_id: 'joi2013ho', + problem_index: 'B', + name: "IOI 列車で行こう (Take the 'IOI' train)", + title: "B. IOI 列車で行こう (Take the 'IOI' train)", + }, + { + id: 'joi2013ho1', + contest_id: 'joi2013ho', + problem_index: 'A', + name: '電飾 (Illumination)', + title: 'A. 電飾 (Illumination)', + }, + { + id: 'joi2007ho_e', + contest_id: 'joi2007ho', + problem_index: 'E', + name: '最軽量のモビール', + title: 'E. 最軽量のモビール', + }, + { + id: 'joi2007ho_d', + contest_id: 'joi2007ho', + problem_index: 'D', + name: '最悪の記者', + title: 'D. 最悪の記者', + }, + { + id: 'joi2007ho_c', + contest_id: 'joi2007ho', + problem_index: 'C', + name: '最古の遺跡', + title: 'C. 最古の遺跡', + }, + { + id: 'joi2007ho_b', + contest_id: 'joi2007ho', + problem_index: 'B', + name: '最長の階段', + title: 'B. 最長の階段', + }, + { + id: 'joi2007ho_a', + contest_id: 'joi2007ho', + problem_index: 'A', + name: '最大の和', + title: 'A. 最大の和', + }, + { + id: 'joi2006ho_e', + contest_id: 'joi2006ho', + problem_index: 'E', + name: 'JOI 2006 本選 問題5', + title: 'E. JOI 2006 本選 問題5', + }, + { + id: 'joi2006ho_d', + contest_id: 'joi2006ho', + problem_index: 'D', + name: 'JOI 2006 本選 問題4', + title: 'D. JOI 2006 本選 問題4', + }, + { + id: 'joi2006ho_c', + contest_id: 'joi2006ho', + problem_index: 'C', + name: 'JOI 2006 本選 問題3', + title: 'C. JOI 2006 本選 問題3', + }, + { + id: 'joi2006ho_b', + contest_id: 'joi2006ho', + problem_index: 'B', + name: 'JOI 2006 本選 問題2', + title: 'B. JOI 2006 本選 問題2', + }, + { + id: 'joi2006ho_a', + contest_id: 'joi2006ho', + problem_index: 'A', + name: 'JOI 2006 本選 問題1', + title: 'A. JOI 2006 本選 問題1', + }, { id: 'typical90_cl', contest_id: 'typical90', diff --git a/src/lib/utils/contest_table_provider.ts b/src/lib/utils/contest_table_provider.ts index a0f9e1455..b4ae74256 100644 --- a/src/lib/utils/contest_table_provider.ts +++ b/src/lib/utils/contest_table_provider.ts @@ -865,7 +865,7 @@ export class JOISecondQualRound2020OnwardsProvider extends ContestTableProviderB isShownHeader: true, isShownRoundLabel: true, isShownTaskIndex: false, - tableBodyCellsWidth: 'w-1/2 xs:w-1/3 sm:w-1/4 md:w-1/5 px-1 py-1', + tableBodyCellsWidth: 'w-1/2 xs:w-1/3 sm:w-1/4 md:w-1/5 lg:w-1/6 px-1 py-1', roundLabelWidth: 'xl:w-28', }; } diff --git a/src/test/lib/utils/contest_table_provider.test.ts b/src/test/lib/utils/contest_table_provider.test.ts index b5c9deac8..dbae93291 100644 --- a/src/test/lib/utils/contest_table_provider.test.ts +++ b/src/test/lib/utils/contest_table_provider.test.ts @@ -2267,7 +2267,9 @@ describe('ContestTableProviderBase and implementations', () => { expect(displayConfig.isShownRoundLabel).toBe(true); expect(displayConfig.isShownTaskIndex).toBe(false); expect(displayConfig.roundLabelWidth).toBe('xl:w-28'); - expect(displayConfig.tableBodyCellsWidth).toBe('w-1/2 xs:w-1/3 sm:w-1/4 md:w-1/5 px-1 py-1'); + expect(displayConfig.tableBodyCellsWidth).toBe( + 'w-1/2 xs:w-1/3 sm:w-1/4 md:w-1/5 lg:w-1/6 px-1 py-1', + ); }); test('expects to get contest round label', () => {