Skip to content

Thuật ngữ

Trang này giải thích ngắn gọn các thuật ngữ dùng trong LCOJ và trong bộ tài liệu này. Cột đầu ghi tên tiếng Việt (đúng như trên giao diện luyencode.net khi có) kèm tên tiếng Anh, vì nhiều trang quản trị và file cấu hình vẫn dùng tiếng Anh. Bấm vào liên kết ở cột cuối để đọc chi tiết.

Tìm nhanh

Nhấn Ctrl+F (hoặc Cmd+F trên macOS) để tìm một thuật ngữ trong trang.

Bảng thuật ngữ

Thuật ngữNghĩaĐọc thêm
API token — API tokenChuỗi bí mật cá nhân để chương trình của bạn gọi API của LCOJ thay cho việc đăng nhập bằng trình duyệt.API
Bài kiểm tra (trắc nghiệm) — QuizBài gồm các câu hỏi trắc nghiệm, đúng/sai, nhiều đáp án hoặc trả lời ngắn. Website chấm ngay khi nộp, không cần máy chấm.Làm bài trắc nghiệm
Bài nộp — SubmissionMột lần gửi mã nguồn cho một bài tập. Mỗi bài nộp có trạng thái xử lý, kết quả, thời gian chạy, bộ nhớ và điểm.Nộp bài và chấm bài
Bài tập (Bài) — ProblemMột đề lập trình kèm bộ test, giới hạn thời gian, bộ nhớ và cách chấm. Mỗi bài có một mã ngắn dùng trong URL, ví dụ /problem/aplusb.Quản lý bài tập
Bảng xếp hạng — Ranking, scoreboardBảng thứ hạng thí sinh trong một kỳ thi, cập nhật trực tiếp khi có kết quả chấm. Cách tính thứ hạng phụ thuộc định dạng kỳ thi.Tham gia kỳ thi
Bridge (bridged) — BridgeDịch vụ trung gian giữa website và các máy chấm: nhận yêu cầu chấm từ website, giao cho máy chấm rảnh, ghi kết quả vào cơ sở dữ liệu.Kiến trúc hệ thống
Chấm điểm từng phần — Partial pointsChế độ của bài tập: được điểm theo tỉ lệ số test đúng. Bài không bật chế độ này chỉ được điểm khi đúng mọi test.Quản lý bài tập
Đề bài — StatementPhần mô tả bài tập: yêu cầu, dữ liệu vào, kết quả, ví dụ. Viết bằng Markdown, hỗ trợ công thức toán.Quản lý bài tập
Điểm — PointsSố điểm của một bài tập hoặc một test. Điểm bài nộp được tính từ điểm các test đã qua.Quản lý bài tập
Điểm đóng góp (Đóng góp) — Contribution pointsĐiểm thể hiện mức đóng góp cho cộng đồng: tăng khi bình luận, bài blog được bình chọn hoặc khi báo lỗi hữu ích, giảm khi mở lời giải của bài chưa giải được.Blog, bình luận và báo lỗi
Định dạng kỳ thi — Contest formatLuật tính điểm và xếp hạng của kỳ thi: default, ioi, ioi16, ecoo, atcoder, icpc, vnoj.Các định dạng kỳ thi
Đóng băng bảng xếp hạng — Scoreboard freezeTrong những phút cuối kỳ thi, thí sinh chỉ thấy kết quả của các lần nộp trước thời điểm đóng băng. Chỉ định dạng icpcvnoj hỗ trợ.Các định dạng kỳ thi
File env — Env fileCác file environment/*.env (site.env, mysql.env, mysql-admin.env) chứa cấu hình và mật khẩu cho các service Docker.Biến môi trường
Giám sát liêm chính — Integrity monitoringTùy chọn của bài kiểm tra: ghi lại khi học sinh chuyển tab, rời cửa sổ, sao chép... để giáo viên xem. Không trừ điểm.Làm bài trắc nghiệm
Grader — GraderThành phần quyết định cách chạy và chấm bài nộp: chấm chuẩn, tương tác, theo chữ ký hàm, chỉ nộp output...Grader
init.yml — init.ymlFile cấu hình của một bài trong thư mục dữ liệu: danh sách test, điểm, checker, grader. Trình sửa test trên web tự sinh file này.Cấu trúc bài tập
Interactor — InteractorChương trình của người ra đề "trò chuyện" với bài nộp qua stdin/stdout trong bài tương tác, rồi quyết định đúng sai.Grader
Kết quả chấm (mã trạng thái) — Verdict, status codeMã ngắn cho biết bài đúng hay sai và sai kiểu gì, ví dụ AC, WA, TLE. Xem bảng Mã kết quả bên dưới.Mã trạng thái
Kỳ thi — ContestMột nhóm bài tập làm trong khoảng thời gian xác định, có bảng xếp hạng. Có thể công khai hoặc riêng cho một tổ chức.Tham gia kỳ thi
local_settings.py — local_settings.pyFile cấu hình Django của bản cài (tên site, ngôn ngữ, múi giờ...). Biến môi trường ghi đè giá trị trong file này.Biến môi trường
Lời giải — EditorialBài hướng dẫn giải của một bài tập. Nếu chưa giải được bài, mở lời giải sẽ bị trừ điểm đóng góp.Blog, bình luận và báo lỗi
Lượt làm bài (lần làm bài) — AttemptMột lần bấm bắt đầu làm bài kiểm tra. Mỗi lượt được chấm riêng; điểm cao nhất được dùng để xếp hạng.Làm bài trắc nghiệm
Máy chấm — JudgeMáy (thường là một container Docker) biên dịch và chạy bài nộp trong sandbox trên test của bài, rồi gửi kết quả về bridge. Cài riêng, không nằm trong Docker Compose của site.Cài đặt judge
Ngân hàng câu hỏi — Question bankKho câu hỏi trắc nghiệm dùng chung. Một câu hỏi có thể được dùng lại trong nhiều bài kiểm tra.Tạo bài trắc nghiệm
Nhóm test (batch) — BatchNhiều test gộp lại thành một nhóm; chỉ được điểm của nhóm khi đúng mọi test trong nhóm.Cấu trúc bài tập
OAuth — OAuthCách đăng nhập bằng tài khoản bên ngoài. luyencode.net chỉ cho đăng ký qua Google (OAUTH_ONLY = True).Tài khoản và đăng nhập
Pretest — PretestMột phần nhỏ của bộ test. Ở kỳ thi bật "chỉ chấm pretest", bài chỉ được chấm trên pretest trong lúc thi; kết quả cuối cùng dựa trên bộ test đầy đủ, chấm sau kỳ thi.Cấu trúc bài tập
Quyền, nhóm — Permission, groupQuyền cho phép một hành động cụ thể (ví dụ judge.edit_own_problem). Nhóm là một tập quyền có tên để gán cho nhiều người.Hệ thống phân quyền
Rating — RatingChỉ số năng lực tính sau mỗi kỳ thi có tính rating, theo thuật toán Elo-MMR. Lần tham gia ảo không được tính.Tham gia kỳ thi
Runtime (executor) — Runtime, executorTrình biên dịch hoặc thông dịch của một ngôn ngữ trên máy chấm. Trang /runtimes/ liệt kê runtime đang dùng được.Ngôn ngữ được hỗ trợ
Service Docker Compose — Docker Compose serviceMỗi thành phần chạy trong một container riêng: nginx, site, celery, bridged, wsevent, db, redis.Kiến trúc hệ thống
Staff, superuser — Staff, superuserStaff được vào trang quản trị /admin/ nhưng chỉ làm được những gì đã được cấp quyền. Superuser có mọi quyền.Hệ thống phân quyền
Submodule — SubmoduleRepo Git lồng trong repo khác. Mã nguồn website (lcoj-site) là submodule dmoj/repo của lcoj-docker.Cập nhật hệ thống
Test, bộ test — Test case, test dataMỗi test gồm một file input và một file đáp án. Bộ test (test data) là toàn bộ test của bài, thường được tải lên dưới dạng file zip.Cấu trúc bài tập
Tham gia ảo — Virtual participationLàm lại một kỳ thi đã kết thúc với đồng hồ riêng, như đang thi thật. Kết quả không ảnh hưởng rating.Tham gia kỳ thi
Thư viện đề thi — Exam libraryNơi lưu đề thi chính thức dạng PDF (/library/), đọc bằng trình xem lật trang.Thư viện đề thi
Tổ chức — OrganizationNhóm người dùng như lớp học, trường, câu lạc bộ. Có thể có bài tập, kỳ thi, bài kiểm tra chỉ thành viên mới thấy.Tổ chức (nhóm, lớp học)
Trình chấm (checker) — CheckerChương trình so sánh output của bài nộp với đáp án. Mặc định là standard; người ra đề có thể viết checker riêng.Checker
Trình sinh test (generator) — GeneratorChương trình sinh test ngay trên máy chấm thay vì tải file test lên.Generator
Vấn đề (báo lỗi) — TicketBáo cáo lỗi gửi cho người ra đề hoặc quản trị viên, ví dụ đề sai hoặc test sai. Báo lỗi hữu ích được cộng điểm đóng góp.Blog, bình luận và báo lỗi
Xác thực 2 yếu tố — Two-factor authentication (2FA)Lớp bảo vệ thêm khi đăng nhập: ngoài mật khẩu còn cần mã 6 chữ số từ ứng dụng xác thực, hoặc khóa bảo mật (WebAuthn).Tài khoản và đăng nhập

Mã kết quả

Các mã kết quả thường gặp nhất. Danh sách đầy đủ và cách khắc phục có tại Mã trạng thái.

Giao diện tiếng ViệtTiếng AnhNghĩa
ACKết quả đúng (AC)AcceptedĐúng
WAKết quả sai (WA)Wrong AnswerOutput sai
TLEQuá thời gian (TLE)Time Limit ExceededChạy quá giới hạn thời gian
MLETràn bộ nhớ (MLE)Memory Limit ExceededDùng quá giới hạn bộ nhớ
OLEKết xuất dữ liệu ra quá nhiều (OLE)Output Limit ExceededIn ra quá nhiều
RTELỗi Runtime (RE)Runtime ErrorChương trình bị hệ điều hành dừng, ví dụ truy cập bộ nhớ sai
IRLỗi khi chạy chương trình (IR)Invalid ReturnChương trình thoát với mã lỗi khác 0
CELỗi dịch (CE)Compile ErrorKhông biên dịch được
IELỗi nội bộ (máy chủ chấm bài lỗi)Internal ErrorLỗi phía hệ thống, không phải lỗi của bạn