Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P151PROF - ROUND 1F - Cipher |
0xb0b0 team là 1 đội của PTIT đang tham gia cuộc thi CTF(Capture The Flag). Để tìm được Flag của một câu hỏi, bạn phải trải qua rất nhiều thử thách. Đội đang tiến hành giải quyết 1 bài Cipher. Sau 1 hồi thi cử rất quyêt liệt, 0xb0b0 team đã đi đến kết luận: Secret key (khóa bí mật) có thể lấy được bằng cách cắt khóa Public key (công khai) thành 2 phần. Khóa công khai là 1 số tự nhiên rất lớn, có thể có tới 1 triệu chữ số.
0xb0b0 team muốn tìm một cách sao cho có thể cắt publickey thành 2 số nguyên dương x và y sao cho x chia hết cho a và y chia hết cho b (với a và b là 2 số cho trước). Cả x và y đều không được có chữ số 0 ở đầu.
Hãy giúp 0xb0b0 team tìm cách để cắt public key.
Input
Dòng thứ nhất chứa public key 1 số nguyên dương (không chứa chữ số 0 ở đầu) có độ dài từ 1 đến 10^6 chữ số.
Dòng tiếp theo bao gồm 2 số nguyên dương cách nhau bởi 1 dấu cách a, b(1 ≤ a, b ≤ 10^8).
Output
Dòng đầu tiên in "YES" nếu có cách cắt được public key. Trong trường hợp này, in 2 dòng tiếp theo là 2 số x, y sao cho x bé nhất có thể.
Trường hợp còn lại, tức là không tồn tại cách cắt, in "NO" và không in gì thêm.
Example
Test 1:
Input:
116401024
97 1024
Output:
YES
11640
1024
Test 2:
Input:
284254589153928171911281811000
1009 1000
Output:
YES
2842545891539
28171911281811000
Test 3:
Input:
120
12 1
Output:
NO
Được gửi lên bởi: | adm |
Ngày: | 2015-03-04 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |
hide comments
2017-08-19 20:48:31 Con Bò Huyền Thoại
http://kienthuc24h.com/cf490chacking-cypher-p151prof-spoj-cipher/ |
|
2015-05-03 10:52:56 cún
Nhầm 1 kí tự làm sai mấy lần :( |
|
2015-03-24 09:59:28 Con Bò Huyền Thoại
Last edit: 2017-08-19 20:48:39 |