Winter 01
Biến đổi
Nộp bàiPoint: 2
Cho dãy A gồm 8 số nguyên có giá trị từ 1 đến 8. Có 2 phép biến đổi trên dãy số này: Phép quay trái L và phép quay phải R.
Phép biến đổi L là dời số trong dãy từ phải sang trái, số đầu dãy chuyển đến vị trí cuối dãy.
Ví dụ:
Dãy A: 12345678 Trạng thái dãy sau khi biến đổi L -> 23456781
Tương tự, phép biến đổi R dời số trong dãy từ trái sang phải, số cuối dãy chuyển đến vị trí đầu dãy.
Ví dụ: Dãy A: 12345678 Trạng thái dãy sau khi biến đổi R -> 81234567
Yêu cầu: Cho một dãy các phép biến đổi, sau khi thực hiện tuần tự các biến đổi đã cho, dãy A có trạng thái mới, biến đổi thành dãy B. Hãy lập trình xác định dãy B.
Dữ liệu vào: Từ file văn bản CHANGE.INP, chỉ gồm 1 hàng gồm các kí tự L, R viết liền nhau, dùng để biểu diễn dãy tuần tự các phép biến đổi cho trước. Chiều dài không quá 200 kí tự.
Dữ liệu ra: Ghi ra file văn bản CHANGE.OUT, gồm 1 dòng biểu diễn dãy B với các số viết liền nhau.
Ví dụ:
|
CHANGE.INP |
CHANGE.OUT |
|
RRRRRRR |
23456781 |
MOUNTAIN
Nộp bàiPoint: 3
Một dãy số gồm ~N~ phần tử gọi là dãy Mountain khi dãy đó thoả mãn:
- A1 < A2 < A3 < ... Ak > Ak+1 > .. > AN. Với 1 < ~k~ < ~N~
Ví dụ: [1, 3, 5, 1, 0] hoặc [1, 7, 4, 1] là dãy Mountain. Ngược lại [1, 2, 3] hoặc [2, 2, 3, 4, 5] thì không.
Cho một dãy ~A~ gồm các số nguyên. Hãy tìm và đưa ra dãy con dài nhất của ~A~ là dãy Mountain. Nếu có nhiều dãy con dài nhất cùng độ dài thì đưa ra dãy xuất hiện trước ở trong ~A~. Nếu không tồn tại dãy Mountain thì trả về ~No~.
Input
- Dòng đầu tiên chứa số nguyên ~N~ (0 < ~N~ < 106)
- Dòng tiếp theo chứa N số nguyễn (-109 < ~A~ i < 109)
Output
Dãy con Mountain dài nhất.
Sample Input
5
1 3 2 4 0
Sample Output
1 3 2
Tổng ước nguyên tố
Nộp bàiPoint: 3
Số nguyên dương x được gọi là một ước nguyên tố của số nguyên k nếu k chia hết cho x và x là số nguyên tố.
Yêu cầu: Nhập từ bàn phím một số nguyên dương k (k <= 1010). Hãy in ra màn hình tổng các ước nguyên tố của số k.
Ví dụ:
|
Nhập từ bàn phím |
In ra màn hình |
|
21 |
10 |
Vận tải
Nộp bàiPoint: 2
Một hợp tác xã vận tải có N xe tải có trọng tải khác nhau, nhận chở M tấn gạo từ kho ra cảng. Người ta cần phải tính toán để mỗi thành viên có xe đều được ít nhất một lần xe chạy sao cho tổng số lần chuyên chở của tất cả các xe là ít nhất.
Yêu cầu: Khi chở, phải chở đủ trọng tải của xe và chở hết gạo trong kho để tiết kiệm cho khách hàng. Trong trường hợp không thỏa mãn các điều kiện nói trên thì hợp tác xã không nhận chuyên chở.
Dữ liệu vào: Đọc từ file văn bản VANTAI.INP gồm có 2 dòng:
- Dòng đầu tiên là hai số M, N.
(M: số tấn gạo cần chở (M ≤ 105); N: tổng số xe hợp tác xã có (N ≤ 10)).
- Dòng thứ hai là trọng tải T (T ≤ 15) của mỗi xe được kể theo thứ tự.
Dữ liệu ra: Ghi ra file văn bản VANTAI.OUT gồm có 2 dòng:
- Dòng đầu tiên ghi tổng số chuyến vận tải của các xe. Nếu bài toán không có lời giải thì ghi số 0.
- Dòng thứ hai ghi số lần chuyên chở của mỗi xe theo thứ tự nói trên.
Chú ý: Mỗi số liệu vào hoặc ra trên cùng một dòng cách nhau ít nhất một dấu cách.
Ví dụ:
|
VANTAI.INP |
VANTAI.OUT |
|
29 4 3 5 7 11 |
5 2 1 1 1 |