TIN NINH AN 2024 -2025
BÀI TẬP VỀ NHÀ 28.2.2025
ÔN TẬP MẢNG 1 CHIỀU
Vị trí và giá trị lớn nhất (arr05.*)
Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n
Yêu cầu: Hãy in ra màn hình giá trị lớn nhất và vị trí của phần tử có giá trị lớn nhất, nếu có nhiều phần tử có giá trị lớn nhất thì in ra vị trí nhỏ nhất.
Dữ liệu vào:
- Dòng đầu tiên ghi số nguyên dương n\ (n\le{10}^5)
- Dòng thứ hai ghi lần lượt n số nguyên a_1,a_2,\ldots,a_n\ (\left|a_i\right|\le{10}^9)
Kết quả: - Dòng đầu ghi giá trị lớn nhất tìm được.
- Dòng thứ hai ghi vị trí.
Ví dụ:
Input Output
6
5 4 6 3 1 6 6
3
Vị trí và giá trị nhỏ nhất (arr06.*)
Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n
Yêu cầu: Hãy in ra màn hình giá trị nhỏ nhất và vị trí của tất cả các phần tử có giá trị nhỏ nhất.
Dữ liệu vào: - Dòng đầu tiên ghi số nguyên dương n\ (n\le{10}^5)
- Dòng thứ hai ghi lần lượt n số nguyên a_1,a_2,\ldots,a_n\ (\left|a_i\right|\le{10}^9)
Kết quả: - Dòng đầu ghi giá trị nhỏ nhất tìm được.
- Dòng thứ hai ghi vị trí tìm được theo thứ tự từ nhỏ đến lớn.
Ví dụ:
Input Output
6
5 1 6 3 1 6 1
2 5
Số nhỏ nhất lớn hơn \mathbit{k} (arr07.*)
Cho hai số nguyên dương n,\ k và dãy số nguyên dương a_1,a_2,\ldots,a_n.
Yêu cầu: Hãy tìm số nhỏ nhất lớn hơn k trong dãy số và các vị trí của nó
Dữ liệu vào: - Dòng đầu tiên ghi hai số nguyên dương n,\ k (1\le n\le{10}^5;1\le k\le{10}^9)
- Dòng thứ hai ghi lần lượt các số nguyên dương a_1,a_2,\ldots,a_n(1\le a_i\le{10}^9;i=1\ldots n)
Kết quả: - Dòng đầu tiên ghi giá trị nhỏ nhất lớn hơn k tìm được
- Dòng thứ 2 ghi vị trí của giá trị tìm được
Ví dụ:
Input Output
6 70
91 79 43 79 451 54 79
2 4
Vị trí số dương (arr08.*)
Cho hai số nguyên dương n và dãy số nguyên dương a_1,a_2,\ldots,a_n.
Yêu cầu: Hãy in ra vị trí của phần tử dương đầu tiên và vị trí của số dương cuối cùng.
Dữ liệu vào: - Dòng đầu tiên ghi hai số nguyên dương n (1\le n\le{10}^5)
- Dòng thứ hai ghi lần lượt các số nguyên dương a_1,a_2,\ldots,a_n(1\le a_i\le{10}^9;i=1\ldots n)
Kết quả: - Ví trị của số dương đầu tiên và vị trí của số dương cuối cùng tìm được, nếu trong dãy không có số dương thì in ra -1-1
Ví dụ:
Input Output
6
-91 79 -43 89 -451 -54 2 4
Vị trí số âm (arr09.*)
Cho hai số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n.
Yêu cầu: Hãy in ra vị trí của phần tử âm đầu tiên và vị trí của số âm cuối cùng.
Dữ liệu vào:
- Dòng đầu tiên ghi hai số nguyên dương n (1\le n\le{10}^5)
- Dòng thứ hai ghi lần lượt các số nguyên a_1,a_2,\ldots,a_n(1\le a_i\le{10}^9;i=1\ldots n)
Kết quả: - Ví trị của số âm đầu tiên và vị trí của số âm cuối cùng tìm được, nếu trong dãy không có số âm thì in ra -1-1
Ví dụ:
Input Output
7
7 -6 -4 19 -22 51 -82 2 7
Số lượng số âm số dương (arr10.*)
Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n.
Yêu cầu: Hãy in ra số lượng số âm và số lượng số dương.
Dữ liệu vào: - Dòng đầu tiên ghi hai số nguyên dương n (1\le n\le{10}^5)
- Dòng thứ hai ghi lần lượt các số nguyên a_1,a_2,\ldots,a_n(|a_i|\le{10}^9;i=1\ldots n)
Kết quả: - Dòng đầu ghi số lượng số âm
-
Dòng thứ hai ghi số lượng số dương
Ví dụ:
Input Output
6
5 1 -6 3 -1 6 2
4Cập nhật danh sách (ulist.*)
Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n.
Yêu cầu: Thay thế các phần tử âm bằng -1, phần tử dương bằng 1.
Dữ liệu vào: -
Dòng đầu ghi số nguyên dương n\ (1\le n\le{10}^6)
- Dòng thứ 2 ghi lần lượt các số nguyên a_1,a_2,\ldots,a_n\ (\left|a_i\right|\le{10}^9)
Kết quả: - Ghi lần lượt các phần tử trong dãy số sau khi thực hiện yêu cầu trên.
Ví dụ:
Input Output
5
-10 3 0 -2 1 -1 1 0 -1 1
Dãy số B (seqb.*)
Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n. Hãy tìm dãy số B sao cho b_i=a_1+a_2+\ldots+a_i, hay nói cách khác b_i là tổng của i số đầu tiên trong dãy A.
Dữ liệu vào: - Dòng đầu tiên ghi số nguyên dương n (1\le n\le{10}^6).
- Dòng tiếp theo ghi lần lượt các số a_1,a_2,\ldots,a_n (\left|a_i\right|\le{10}^9)
Kết quả: Ghi lần lượt các số b_1,b_2,\ldots,b_n
Ví dụ:
Input Output
4
1 4 3 2 1 5 8 10
Hướng dẫn
Sử dụng công thức: - b_1=a_1
- b_i=b_{i-1}+a_i\ (i=2,n)
Dãy số B (seqb.*)
Cho số nguyên dương n và dãy số nguyên a_1,a_2,\ldots,a_n. Hãy tìm dãy số B sao cho b_i=a_1+a_2+\ldots+a_i, hay nói cách khác b_i là tổng của i số đầu tiên trong dãy A.
Dữ liệu vào: - Dòng đầu tiên ghi số nguyên dương n (1\le n\le{10}^6).
- Dòng tiếp theo ghi lần lượt các số a_1,a_2,\ldots,a_n (\left|a_i\right|\le{10}^9)
Kết quả: Ghi lần lượt các số b_1,b_2,\ldots,b_n
Ví dụ:
Input Output
4
1 4 3 2 1 5 8 10
Hướng dẫn
Sử dụng công thức: - b_1=a_1
- b_i=b_{i-1}+a_i\ (i=2,n)
Trò chơi với những chiếc giày (shoes.*)
Cho n đôi giày cùng loại chỉ khác nhau về kích cỡ được xếp thành một hàng theo thứ tự ngẫu nhiên. Chủ trò chơi bí mật rút một chiếc giày và giấu đi, sau đó yêu cầu người chơi hãy cho biết chiếc giày bị giấu đi là chiếc giày trái hay phải, có kích cỡ bao nhiêu.
Yêu cầu: Hãy viết chương trình tìm ra chiếc giày bị giấu.
Dữ liệu vào: - Dòng đầu tiên chứa số nguyên dương n (1\le n\le{10}^6)
- Dòng thứ hai chứa 2\times n-1 số nguyên a_1,a_2,\ldots,a_{2n-1}\ (\left|a_i\right|\le{10}^9,\ a_i\neq0) trong đó |a_i| cho biết kích cỡ của chiếc giày thứ i, nếu a_i<0 thì đó là chiếc giày trái, nếu a_i>0 thì đó là chiếc giày phải
Dữ liệu luôn đảm bảo tìm ra kết quả duy nhất.
Kết quả: ghi ra trên hai dòng - Dòng đầu ghi -1 nếu chiếc giày bị giấu là chiếc giày trái, ngược lại ghi 1
- Dòng 2 cho biết kích cỡ của chiếc giày bị giấu
Ví dụ:
Input Output
3
2 1 3 -1 -3 -1
2
BÀI TẬP VỀ NHÀ NGÀY 28.10.2024
ĐÂP ÁN 4 BÀI HÔM NAY
include <bits/stdc++.h>
using namespace std;
int n;
int main()
{
cin>>n;
if(n%2==0)cout<<"YES";
else cout<<"NO";
return 0;
}
-
include <bits/stdc++.h>
using namespace std;
long long a, b,c;
int main()
{
cin>>a>>b>>c;
if(a>0 && b>0 && c>0)cout<<"YES";
else cout<<"NO";
return 0;
} -
include <bits/stdc++.h>
using namespace std;
int x,y,z;
int main()
{
cin>>x>>y;
if(x>y)
{z=x; cout<<z;}
else {z=y; cout<<z;}
return 0;
}
include <bits/stdc++.h>
using namespace std;
int a,b,c;
int main()
{
cin>>a>>b>>c;
if(a>b) swap(a,b);
if(a>c) swap (a,c);
if (b>c) swap (b,c);
cout<<a<<" "<<b<<" "<<c<<" ";
return 0;
}
BTVN
- Số đứng giữa (sdgiua.*)
Cho ba số thực 𝑎, 𝑏, 𝑐 khác nhau từng đôi một, hãy tìm và in ra màn hình giá trị nhỏ nhì?
Dữ liệu vào: - Ba số thực 𝑎, 𝑏, 𝑐 trên một dòng
Kết quả: - Ghi số thực cho biết kết quả bài toán
Ví dụ:
Input Output
1.53571 0.35294 0.06522 0.35294
Giá trị lớn nhất của ba số (max3so.*)
Cho ba số nguyên 𝑎, 𝑏, 𝑐, hãy tìm giá trị lớn nhất của ba số
Dữ liệu vào:
- Ba số 𝑎, 𝑏, 𝑐 (|𝑎|, |𝑏|, |𝑐| <= 109) ghi trên ba dòng
Kết quả: - Một số nguyên cho biết kết quả bài toán
Ví dụ:
Input Output
3
9
5 9
- Giá trị nhỏ nhất của 4 số (min4so.*)
Cho 4 số nguyên 𝑎, 𝑏, 𝑐, 𝑑, hãy in ra giá trị nhỏ nhất của 4 số đã cho.
Dữ liệu vào: - Ghi lần lượt 4 số nguyên 𝑎, 𝑏, 𝑐, 𝑑 trên 4 dòng (|𝑎|, |𝑏|, |𝑐|, |𝑑| ≤ 109)
Kết quả: - Một số nguyên cho biết kết quả của bài toán
Ví dụ:
Input Output
3
9
2
6 2
- Dấu của tổng (npz.*)
Cho hai số thực 𝑎, 𝑏. Hãy cho biết 𝑎 + 𝑏 là số âm hay số dương hay bằng 0.
Dữ liệu vào: Hai số 𝑎, 𝑏. (|𝑎|, |𝑏| ≤ 109)
Kết quả: Ghi Positive nếu 𝑎 + 𝑏 > 0, ghi Negative nếu 𝑎 + 𝑏 < 0, ghi Zero nếu 𝑎 + 𝑏 = 0.
Ví dụ:
Input Output
4 -10 Negative
- Tích hai số lớn nhất (tich2m.*)
Cho ba số nguyên 𝑎, 𝑏, 𝑐. Hãy cho biết tích lớn nhất của hai số trong ba số 𝑎, 𝑏, 𝑐.
Dữ liệu vào: Ba số nguyên 𝑎, 𝑏, 𝑐 Giới hạn: −200 ≤ 𝑎, 𝑏, 𝑐 ≤ 200 Kết quả: Tích lớn nhất của 2 số Ví dụ:
Input Output
3 5 2 15
BÀI TẬP CƠ BẢN (TIẾP)
-
Trường mới đẹp và rộng hơn trường cũ, số phòng học cũng nhiều hơn 3 so với trước. Nhà trường dự định tuyển thêm học sinh cho 3 lớp mới với số lượng học sinh mỗi lớp tương ứng là a,b,ca,b,c. Dĩ nhiên, cần mua bàn ghế mới cho 3 lớp này. Mỗi bộ bàn ghế học có không quá 2 học sinh ngồi. Hãy xác định số lượng bộ bàn ghế tối thiểu cần mua
Dữ liệu vào
Ba số nguyên a,b,c(1≤a,b,c≤50)
Kết quả
Số lượng bộ bàn ghế tối thiểu cần mua
Ràng buộc
Ví dụ:
Input 1
20 21 22
Output 1
32 -
Cho số nguyên n có đúng 4 chữ số, hãy sử dụng các phép toán Chia lấy nguyên và Chia lấy dư để tính tổng các chữ số của nn
Dữ liệu vào
Số nguyên dương n
Kết quả
Tổng các chữ số của n
Ràng buộc
n có 4 chữ số
Ví dụ:
Input 1
1234
Output 1
10
Input 2
2222
Output 2
8
Cho 2 số nguyên aa và bb
Yêu cầu: Tính a+ba+b
Dữ liệu vào
Hai số aa và bb trên một dòng
Kết quả
giá trị của a+ba+b
Ràng buộc
+|a|,|b|≤1018|a|,|b|≤1018
Ví dụ:
Input 1
3 9
Output 1
12
Input 2
5 10
Output 2
15 -
Trung bình mỗi người dân cần có aa kg gạo để ăn và phục vụ chăn nuôi, chế biến trong một năm. Để đảm bảo an ninh lương thực tổng số gạo dự trữ trong các kho của nhà nước chia cho đầu người phải lớn hơn hoặc bằng aa kg. Một nước có số dân là bb cần dự trữ tối thiểu bao nhiêu kg gạo?
Dữ liệu vào
Nhập hai số nguyên dương a,ba,b (1≤a≤103;1≤b≤109)(1≤a≤103;1≤b≤109) trên một dòng
Kết quả
Số kg gạo tối thiểu cần dự trữ.
Ràng buộc
Ví dụ:
Input 1
20 100
Output 1
2000 -
Một người đi xe đạp với tốc độ 10km/h và một người đi xe máy với tốc độ 30km/h cùng xuất phát từ một vị trí và đi cùng một hướng. Lập trình tính và đưa ra màn hình khoảng cách của hai người sau tt giờ.
Dữ liệu vào
Số tt
Kết quả
Một số nguyên duy nhất là kết quả của bài toán
Ràng buộc
tt nguyên dương và có giá trị không vượt quá 15
Ví dụ:
Input 1
9
Output 1
180 - Trong nn năm vừa qua, trung bình mỗi năm nước ta xuất khẩu ra thị trường thế giới tt tấn gạo. Giá mỗi tấn gạo là vv USD. Hãy tính số tiền thu nhập được nhờ xuất khẩu gạo trong nn năm qua.
Yêu cầu: Hãy tính tổng số tiền thu được nhờ xuất khẩu gạo trong nn năm.
Dữ liệu vào
Các số nguyên n,t,vn,t,v (1≤n≤20;1≤t,v≤106)(1≤n≤20;1≤t,v≤106)
Kết quả
• Tổng số tiền thu được nhờ xuất khẩu gạo trong nn năm.
Ví dụ:
Input 1
5
380
200
Output 1
380000
BÀI TẬP CƠ BẢN
-
Đồng hồ của An đang chỉ đến thời điểm aa giờ, bb phút, cc giây; Hãy cho biết tính từ thời điểm 00 giờ, 00 phút, 00 giây thì tại thời điểm An nhìn đồng hồ đã qua bao nhiêu giây?
Dữ liệu vào
Các số nguyên dương a,b,ca,b,c (0≤a<24;0≤b<60;0≤c<60)(0≤a<24;0≤b<60;0≤c<60) nhập từ bàn phím
Kết quả
In ra màn hình một số nguyên duy nhất là kết quả bài toán
Ràng buộc
Ví dụ:
Input 1
1 2 3
Output 1
3723 -
Để lên đỉnh núi Phanxipan cần mua vé cáp treo aa ngàn đồng một người lớn và bb ngàn đồng với trẻ em, vé xe lửa uu ngàn đồng một người lớn và vv ngàn đồng một trẻ em.
Đoàn du lịch có xx người, trong đó có yy trẻ em. Hãy xác định số tiền ít nhất cần chuẩn bị để mua vé cho cả đoàn.
Dữ liệu vào
• Các số nguyên dương a,b,u,v,x,ya,b,u,v,x,y ((1≤a,b,u,v,x,y≤100;x≥y)(1≤a,b,u,v,x,y≤100;x≥y). Mỗi số trên một dòng
Kết quả
• Một số nguyên cho biết số tiền ít nhất cần chuẩn bị để mua vé cho cả đoàn.
Ví dụ:
Input 1
60
30
50
25
40
10
Output 1
3850 -
Một cái sân hình chữ nhật có chiều ngang là nn dm và chiều dọc là dd dm. Người ta cần lát mặt sân bằng một loại gạch hình chữ nhật có chiều rộng là 1 dm và chiều dài là 2 dm. Mỗi viên gạch có thể được lát ngang hoặc lát dọc tùy ý, miễn sao gạch phải phủ vừa đủ diện tích của sân. Trong một số trường hợp, người ta phải cắt đôi viên gạch thành hai nửa viên hình vuông dùng để lát ô có diện tích bằng 1×11×1.
Yêu cầu: Bạn hãy lập trình tính số viên gạch ít nhất cần phải cắt để lát đủ mặt sân.
Dữ liệu vào
Hai số nguyên nn và dd (1≤n,d≤103)(1≤n,d≤103) theo đúng thứ tự.
Kết quả
• Một số nguyên là số lượng viên gạch ít nhất cần phải cắt.
Ví dụ:
Input 1
3 3
Output 1
1