[Buổi 4][Tiền xử lý số học & truy vấn số nguyên][HW] Bài 3: Chữ ký thừa số của mã dữ liệu


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types

Chữ ký thừa số của mã dữ liệu

Bối cảnh và bài toán

Một hệ thống phát hiện lỗi lưu "chữ ký số học" của mỗi mã dữ liệu dưới dạng các thừa số nguyên tố và số mũ tương ứng. Để xử lý hàng loạt bản ghi, hệ thống cần tạo chữ ký cho nhiều số trong cùng một phiên.

Chữ ký phải được chuẩn hóa theo thứ tự prime tăng dần để hai hệ thống có thể so sánh trực tiếp.

Yêu cầu

Phân tích mỗi x thành các lũy thừa nguyên tố. In số lượng prime khác nhau và các cặp prime exponent theo prime tăng dần.

Input

  • Dòng 1: số nguyên q.
  • q dòng tiếp theo: mỗi dòng chứa x.

Output

Với mỗi x, in k p1 e1 p2 e2 ... pk ek, trong đó k là số prime khác nhau và p1 < p2 < ... < pk. Nếu x=1, in 0.

Ràng buộc

  • 1 <= q <= 2 * 10^5
  • 1 <= x <= 10^6

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 20% q ≤ 50, x ≤ 10^4 01–04
S2 30% q ≤ 5000, x ≤ 10^6 05–10
S3 50% Không có ràng buộc bổ sung 11–20

Ví dụ 1

Input

3
1
12
360

Output

0
2 2 2 3 1
3 2 3 3 2 5 1

Giải thích. 12=2^2*3; 360=2^3*3^2*5. Số 1 không có thừa số nguyên tố nên chữ ký bắt đầu bằng 0.

Ví dụ 2

Input

2
17
100

Output

1 17 1
2 2 2 5 2

Giải thích. 17 là nguyên tố. 100=2^2*5^2.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M02-B04-HW03
Buổi B04
Loại bài HOMEWORK
Mức độ khó Trung bình (Medium)
Thời gian làm bài khuyến nghị 30 phút
Time limit 2 giây
Memory limit 256 MB
Tổng điểm 100
Chuẩn ngôn ngữ tham chiếu C++17

Nguồn: FULLHOUSE DEV – Self-generated.


Comments

There are no comments at the moment.

Zalo