# Cách tạo bài tập/contest trên TLE-oj (LQDOJ) - admin/problem setter only ## 1. Tạo bài tập 1. Vào thẳng trang tạo bài tập: https://oj.tleoj.dev/admin/judge/problem/add/ hay vào Admin panel $\rightarrow$ Problem/Bài tập $\rightarrow$ Thêm mới/Add ![](https://i.imgur.com/kTgWYea.png) 2. ![](https://i.imgur.com/ySLcgBV.png) ![](https://i.imgur.com/NlJzXB2.png) Điền các thông tin cơ bản của bài theo quy tắc sau: - Mã bài: Nếu đã xác định được bài sẽ thuộc contest nào, và vị trí của bài trong contest đó, mã bài sẽ viết theo công thức `<mã contest><vị trí bài>`, với `<mã contest>` là một số nguyên dương được quy định ở phần sau của bài viết, còn `<vị trí bài>` được ký hiệu là các chữ cái trong bảng chữ cái tiếng Anh (`A-Z`). Nếu chưa xác định được bài sẽ thuộc contest nào, mã bài có thể đặt theo ý thích (sau khi bài được đưa vào contest, cần đổi lại mã bài). - Tên bài: Đặt theo ý thích, với những bài được tính trong các contest TLE-oj cup thì cần ghi theo format `TLE-oj cup Round <số round> - <tên bài>`. - Creator: là người tạo ra bài đó ~~hoặc bú được bài đó từ một nguồn khác về~~. Tên của Creator sẽ được hiển thị trong phần tác giả của bài. - Curator: Là những người có thể tham gia chỉnh sửa bài, nên add các tester và problem setter khác. - Tester: Có thể xem được bài kể cả khi bài ở chế độ riêng tư. Nên add một vài problem setter khác vào để test bài. - Điểm: nên là 200 hoặc 275, có thể là một con số khác nếu bạn thích. Chọn `Cho phép điểm thành phần` nếu bài này tính theo format IOI, và ngược lại. - Giới hạn thời gian và bộ nhớ: Điền các giới hạn kỹ thuật của bài. Lưu ý về đơn vị ở phần điền giới hạn bộ nhớ. - Ngôn ngữ: nên chọn tất cả, hoặc bỏ một vài ngôn ngữ không được dùng trong bài. 3. Điền nội dung bài tập: - Với những bài tập theo file PDF, tải file PDF lên. (Lưu ý: Những bài tập trong TLE-oj cup không nên sử dụng file PDF) - Với những bài tập viết dạng markdown, nên điền markdwon vào khung có sẵn sau: ```md <nội dung bài> !!! note "Input, Output và Subtasks" ???+ note "Input: ('<tên file input>')" <format input> ???+ success "Output: (`<tên file output>`)" <format output> ???+ warning "Subtasks" <subtasks> !!! question "Sample" ???+ note "Input (`<tên file input>`)" ``` <input test ví dụ> ``` ???+ success "Output (`<tên file output`)" ``` <output test ví dụ> ``` ??? warning "Notes" <giải thích test ví dụ> ``` - Dạng bài và nhóm bài: có thể điền tùy thích. 4. Sau khi hoàn thành các bước trên, nhấn "Lưu", "Lưu và thêm mới" hoặc "Lưu và tiếp tục chỉnh sửa". 5. Tạo test cho bài tập theo format Themis rồi nén thư mục thành file zip hoặc tạo một file zip chứa các cặp file có dạng `<tên test>.inp` / `<tên test>.out`. 6. Vào lại trang bài tập trên oj, chọn `Chỉnh sửa test` ở cột bên phải.![](https://i.imgur.com/gcREk7D.png) Upload test và điền thông tin của test: - File zip chứa test: Tải file zip chứa test lên. - Trình chấm: Mặc định là trình chấm tiêu chuẩn (sequence of token), tuy nhiên có thể chọn những loại trình chấm khác hoặc tự viết trình chấm. TLEOJ có hỗ trợ trình chấm **testlib**. - Tên file input/output: điền nếu cần thiết. - Tự động điền test: chọn OI/ICPC tùy theo format bài, nhập test bắt đầu của các subtask ở dưới và nhấn `Điền test`. - Kéo xuống và nhập số điểm cho mỗi subtask (nếu có chia subtask). ## 2. Tạo contest