Bài 3. Chi phí
Cho dãy số nguyên a1, a2, . . ., an (0 ≤ ai ≤ 109, 1 ≤ n ≤ 106). Với dãy số nguyên này ta có thể thực hiện phép xử lý Reduce(i) thay thế 2 phần tử ai và ai+1 bằng max{ai, ai+1} với chi phí là max{ai, ai+1}.
Sau n-1 lần thực hiện phép xử lý trên, ta được dãy số độ dài 1. Chi phí biến đổi dãy được tính bằng tổng chi phí của tất cả các phép xử lý đã thực hiện.
Yêu cầu: Cho n và các số ai. Hãy xác định chi phí nhỏ nhất đưa dãy về độ dài bằng 1.
Dữ liệu: Gồm n+1 dòng:
· Dòng đầu tiên chứa số nguyên n,
· Dòng thứ i trong n dòng tiếp theo chứa số nguyên ai.
Kết quả: In ra một số nguyên – chi phí biến đổi tìm được.
Ví dụ:
input |
output |
3 1 2 3 |
8 |
Bài 6. Mã hoá và giải mã văn bản.
Bài toán sau mô tả một thuật toán mã hoá đơn giản
Tập hợp các chữ cái tiếng Anh bao gồm 26 chữ cái được đánh số thứ tự từ 0 đến 25 như sau:
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
Quy tắc mã hoá một ký tự như sau (lấy ví dụ ký tự Z):
- Tìm số thứ tự tương ứng của ký tự ta được 25
- Tăng giá trị số này lên 7 ta được 32
- Tìm số dư trong phép chia số này cho 26 ta được 6
- Tra ngược bảng chữ cái ta thu được G.
Thí dụ:
Sử dụng quy tắc trên để mã hoá dòng chữ
TIN HOC thành APU OVJ
Sử dụng quy tắc trên để giải mã các dòng chữ
JOBJ JHJ LT SHT IHP AOHA AVA thành
CHUC CAC EM LAM BAI THAT TOT
Hãy xây dựng 2 hàm mã hóa và giải mã. Viết chương trình cho phép người dùng có thể chọn để thực hiện một trong hai công việc là mã hóa hoặc giải mã. Yêu cầu người dùng nhập trực tiếp và báo kết quả trên màn hình.
Nhờ các bạn lập trình = pascal hộ mình nhé
15 tuổi bạn nhé
a+b+2 là như nào vậy các bạn
hong biet nha ban