Authors: Khanh Tran, Ngat Do - Code Dream Programming Learning Center
Tạo một folder mới bên trong thư mục problems
, đặt tên theo mã bài tập. Ví dụ:
problems/
bai1/
bai2/
...
Thêm file solution C++ hoặc Python vào folder solutions
.
- Tên file phải trùng với tên folder của bài tập trong thư mục
problems
. - Nếu viết bằng C++, đặt tên file là
<problemName>.cpp
. - Nếu viết bằng Python, đặt tên file là
<problemName>.py
.
Ví dụ với bài bonghong
:
solutions/
bonghong.cpp (hoặc bonghong.py)
- Copy file
config_sample.py
vào thư mục bài tập. - Đổi tên file thành
config.py
. - Chỉnh sửa các tham số bên trong
config.py
như sau:
# Tên bài toán (trùng với tên folder và file code)
problemName = "bonghong"
# Số lượng test case cần sinh
totalOfTests = 20
# Phân chia điểm theo subtask
subtasks = [50, 50] # Subtask 1: 50%, Subtask 2: 50%. Thêm và điều chỉnh số lượng subtasks và % tương ứng nếu cần.
# Giới hạn đầu vào của bài toán
minN = 1
maxN = [1000, 1000000] # Giới hạn đầu vào cho các subtasks tương ứng.
- Hàm
genInputContent(testID, curSubtask)
chịu trách nhiệm sinh dữ liệu đầu vào cho từng test case. Chỉnh sửa hàm sao cho phù hợp với dữ liệu từng đề bài. FilegenUltils.py
chứa các hàm hỗ trợ sinh dữ liệu ngẫu nhiên và xử lý định dạng. Hãy tham khảo file này để biết thêm các hàm tiện ích.
Chạy file genTest.py
để tạo bộ test tự động:
python genTest.py
Sau khi chạy xong, test cases sẽ được tạo trong thư mục bài tập. Bạn có thể kiểm tra output trong các file *.out
tương ứng.
Nếu muốn đơn giản hoá các bước, ít thao tác, có thể chạy file app.py
để có thể một app trực quan nhất về sinh test cũng như thao tác đơn giản hơn. (Vẫn đang trong quá trình hoàn thiện, đây là phiên bản demo nên mong quý bạn đọc có thể sử dụng thử)
Nếu có vấn đề, góp ý, xin hãy gửi qua mail: [email protected]