Trồng cây (Đề tự luyện HSG Tin 9 #01 – Bài 1)

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
PyPy 3.0s
Python 3.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Đề tự soạn
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Độ khó: Dễ (1/4 điểm)

⚠️ LƯU Ý: Đây chỉ là cuộc thi thử – các em hãy cố gắng TỰ LỰC làm bài, KHÔNG sử dụng AI, không tra cứu lời giải hay nhờ người khác hỗ trợ, để đánh giá chính xác năng lực thật của bản thân!

🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên

📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com


Thầy Sơn vừa mua về ~S~ cây giống và muốn trồng toàn bộ số cây này trong khu vườn sau nhà. Để dễ chăm sóc, thầy xếp cây thành một lưới hình chữ nhật gồm ~a~ hàng, mỗi hàng ~b~ cây (~a, b~ là các số nguyên dương, ~a \le b~ và ~a \times b = S~). Hai cách xếp được coi là khác nhau nếu cặp ~(a, b)~ khác nhau.

Sau khi trồng, thầy cần rào quanh khu vườn. Với cách xếp ~a~ hàng, ~b~ cột, chiều dài hàng rào cần dùng là ~2 \times (a + b)~ mét.

Thầy Sơn có ~T~ phương án mua cây khác nhau. Với mỗi phương án (mỗi giá trị ~S~), hãy giúp thầy tính:

  • Có bao nhiêu cách xếp ~S~ cây thành lưới hình chữ nhật như trên.
  • Chiều dài hàng rào ngắn nhất có thể (trong tất cả các cách xếp).
Dữ liệu vào
  • Dòng đầu tiên chứa số nguyên ~T~ ~(1 \le T \le 10)~ — số phương án.
  • ~T~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~S~ ~(1 \le S \le 10^{12})~.
Kết quả

Gồm ~T~ dòng, dòng thứ ~i~ ghi hai số nguyên cách nhau một dấu cách: số cách xếp và chiều dài hàng rào ngắn nhất ứng với phương án thứ ~i~.

Giới hạn (Subtask)
  • Subtask 1 (~40\%~ số điểm): ~S \le 10^6~.
  • Subtask 2 (~60\%~ số điểm): không có ràng buộc gì thêm.

💡 Lưu ý khi nộp bằng Python: các em nên chọn ngôn ngữ PyPy 3 thay vì Python 3 để chương trình chạy nhanh hơn nhiều. Giới hạn thời gian cho Python/PyPy ở bài này là 3 giây.

Sample Input 1

3
12
7
36

Sample Output 1

3 14
1 16
5 24
Giải thích
  • ~S = 12~: có ~3~ cách xếp là ~(1, 12), (2, 6), (3, 4)~; hàng rào ngắn nhất là ~2 \times (3 + 4) = 14~.
  • ~S = 7~: chỉ có cách ~(1, 7)~, hàng rào dài ~16~.
  • ~S = 36~: có ~5~ cách ~(1, 36), (2, 18), (3, 12), (4, 9), (6, 6)~; hàng rào ngắn nhất là ~2 \times (6 + 6) = 24~.

Nguồn: Đề tự luyện HSG Tin học lớp 9 (đề tự soạn).


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.