Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Bài 1. MUL.

CPP
Cho hai số nguyên a và b. Hãy cho biết tích của a và b là số dương, số âm hay số 0.
Dữ liệu: Gồm một dòng chứa hai số nguyên a và b (−103 ≤ a, b ≤ 103)
Kết quả: Nếu tích của a và b dương, in ra 1. Nếu tích của a và b âm, in ra -1. Ngược lại, hãy in ra 0.
Ví dụ:
Input Output
2 3 1
5 -3 -1
0 1 0

Bài 2. BN.CPP
Một số nguyên dương x được gọi là đẹp, nếu có thể biểu diễn x thành tổng các số chẵn. Nói cách
khác, tồn tại một dãy số a1, a2, . . . , ak sao cho:
- Với mọi 1 ≤ i ≤ k, ai là số chẵn
- a1 + a2 + . . . + ak = x
Yêu cầu: Cho số nguyên dương n, hãy cho biết n có phải là số đẹp hay không.
Dữ liệu: Gồm số nguyên dương n (1 ≤ n ≤ 105)
Kết quả: Nếu n là số đẹp, in ra ‘YES’. Ngược lại, in ra ‘NO’.
Ví dụ:
Input Output
12 YES

Bài 3. MM.CPP
An nhận được một lá thư chứa mật mã bí ẩn. Mã bí mật là số các số nguyên riêng biệt xuất hiện
trong thư, khi tất cả các chữ cái được thay thế bằng khoảng trắng. Các số nguyên được viết không
có chữ số 0 đứng đầu.

Vì An không giỏi các con số. Hãy giúp An

Dữ liệu: Gồm một xâu (độ dài <= 100) gồm các chữ cái in thường và chữ số. Tất cả các số nguyên
trong xâu có nhiều nhất 3 chữ số.

Kết quả: In ra mã cần tìm.

Ví dụ:

Input Output
abc123abc2a3a1 4
as23dkrf23smk1asd23sam9 3

Bài 4. BO.CPP
An viết cho Bình một lá thư. Nhưng do Bình cận, nên không thể đọc được nếu không có kính. An
cần in đậm văn bản để Bình có thể đọc được.

Lá thư được biểu diễn dưới dạng một ma trận bao gồm các kí tự ‘.’ và ‘#’. Để in đậm nó An sẽ
thay thế mỗi ‘#’ trong thư gốc bằng một hình vuông 2x2 của ‘#’ theo hướng từ dưới lên bên phải.

Dữ liệu:

- Dòng đầu tiên gồm 2 số nguyên n và m (2 ≤ n, m ≤ 100) là kích thước của bức thư.
- Trong n dòng tiếp theo, mỗi dòng chứa m kí tự ‘.’ và ‘#’ mô tả bức thư trước đó.
Hàng và cột cuối cùng không chứa bất kì kí tự ‘#’ nào.

Kết quả: Gồm n dòng, mỗi dòng chứa m kí tự ‘.’ và ‘#’ mô tả bức thư được in đậm.

Ví dụ

Input Output
4 4 ....
.... .##.
.#.. .##.
.... ....
....
7 7 .......
....... .#####.
.####.. .######
.#...#. .##..##
.#...#. .##..##
.#...#. .######
.####.. .#####.
.......

Bài 5. KS.CPP
An vừa tìm thấy bản đồ của một hòn đảo. Đảo có hình dạng là một hình chữ nhật có n hàng
và m cột. Đảo có 2 loại khoáng sản có giá trị tương đương nhau. Số lượng khoáng sản ở ô hàng i và
cột j là |ai,j| (|ai,j| ≤ 109), nếu ai,j > 0 thì là khoáng sản loại 1, nếu ai,j < 0 là khoáng sản loại 2, nếu ai,j =
0 thì là ô đất trống.
Hiện giờ An có 1 chiếc máy đào có thể sử dụng 2 lần, chiếc máy có 2 chế độ, đào khoáng sản
loại 1 hoặc đào khoáng sản loại 2. Mỗi lần dùng máy sẽ đào hết một hàng, những ô bị đào thì trở
thành ô đất trống. Vì là sản phẩm lỗi của công ty, nếu máy đào chế độ 1 đào trúng ô khoáng sản loại
2 thì khoáng sản tại ô đó liền bị phá huỷ, tương tự với chế độ 2.
Yêu cầu: Hãy tìm cách dùng chiếc máy sao cho được nhiều khoáng sản nhất có thể.
Dữ liệu:
- Dòng đầu là hai số nguyên n, m (1 ≤ n, m ≤ 1000).
- Dòng thứ i trong n dòng tiếp theo, mỗi dòng chứa m số nguyên là thông tin về ô đất đó.
Kết quả: In ra một dòng duy nhất là số lượng khoáng sản tối đa có thể khai thác.
Ví dụ:
Input Output
3 5 21
-1 4 4 4 -1
2 2 -1 -4 -4
-2 0 2 4 2
1 2 2
1 1

Bài 6. su1.cpp
Cho mảng n phần tử. Có q truy vấn có dạng (l, r, x) tức là tăng tất cả các số từ l đến r một lượng
là x. In ra mảng sau khi thực hiện tất cả truy vấn.
Dữ liệu:
- Dòng đầu gồm số nguyên dương n.
- Dòng thứ 2 gồm n số ai là các phần tử của mảng.
- Dòng thứ 3 gồm số q.
- Sau đó q cặp số (l, r, x)
Kết quả: In ra mảng sau tất cả truy vấn

Ràng buộc:
- n, q <= 105
- |ai|, |x| <= 109

Input Output
3 4 4 3
1 2 3
2
1 2 3
2 2 -1

You might also like