Để đảm bảo an ninh dữ liệu tại
sân bay, nhà chức trách đã xác lập mật khẩu từ bảng số liệu có n hàng (n ≤ 10) h1, h2, …, hn
tương ứng với hàng thứ 1, 2, …, n tính từ trên xuống, mỗi hàng hi
(i=1,…,n) có ít nhất từ 3 đến không quá 100 số tự nhiên được phân biệt bởi dấu
cách. Mật khẩu được xác định bằng cách viết liên tiếp n số x1, x2,
…, xn theo thứ tự từ trái sang phải, với xi (i=1,2 ,…n)
là số cách chọn bao số tuỳ ý trên hàng hi, sao cho tích ba số đó
chia hết cho tổng của chúng.
Yêu cầu:
Lập trình giúp nhà chức trách sân bay xác lập mật khẩu.
- Dữ
liệu vào: Đọc từ file văn bản MATKHAU.INP
chứa n hàng như phần mô tả trong bảng
số liệu đã nêu trên.
- Dữ
liệu ra: Kết quả ghi ra file văn bản MATKHAU.OUT là số mật khẩu tìm được.
Ví dụ:
MATKHAU.INP |
MATKHAU.OUT |
0 1 3 5 3 4 1 3 1 3 2 3 3 1 2 1 1 3 0 1 3 1 |
271303 |
Ý tưởng:
+ Đọc hết 1
dòng vào mảng A (N phần tử)
+ Dùng 3 vòng
For (mỗi dòng nhiều nhất 10^2 vậy 3 vòng For 10^6 và nhiều nhất là 10 vòng, vậy
O(10^1 * 10^6 = 10^7)).
+ Kiểm tra
tích 3 số có chia hết cho tổng hay không?
Nếu (a[i]*a[j]*a[k]) mod
(a[i]+a[j]+a[k]) = 0 thì d:=d+1;
Đăng nhận xét