[CPP T7 2024]. TEST 6. MẢNG 1 CHIỀU CƠ BẢN, VECTOR & ITERATOR, PAIR
[Mảng 1 Chiều Cơ Bản]. Bài 53. Liệt kê vị trí số nhỏ nhất
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử, bạn hãy liệt kê các vị trí xuất hiện của phần tử nhỏ nhất trong mảng. Vị trí được đánh số từ 1.
Đầu tiên bạn cần liệt kê các vị trí này từ trái qua phải, sau đó liệt kê các vị trí này từ phải qua trái
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
0≤A[i] ≤10^6
Đầu ra
Dòng 1 in ra các vị trí số nhỏ nhất từ trái qua phải
Dòng 2 in ra các vị trí số nhỏ nhất từ phải qua trái
Ví dụ :
Input 01
6
1 2 3 1 2 1
Output 01
1 4 6
6 4 1
[Mảng 1 Chiều Cơ Bản]. Bài 54. Thứ tự chẵn lẻ
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử bạn hãy đưa các phần tử chẵn về đầu mảng, lẻ về cuối mảng.
Các số chẵn lẻ bảo toàn vị trí xuất hiện ban đầu trong mảng.
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
0≤A[i] ≤10^6
Đầu ra
In ra mảng sau khi thay đổi
Ví dụ :
Input 01
8
1 3 7 2 5 6 8 4
Output 01
2 6 8 4 1 3 7 5
[Mảng 1 Chiều Cơ Bản]. Bài 55. Thay đổi nguyên tố
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử bạn hãy thay đổi tất cả các phần tử trong mảng là số nguyên tố thành số 28 và in ra mảng sau khi thay đổi.
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
0≤A[i] ≤10^6
Đầu ra
In ra mảng sau khi thay đổi
Ví dụ :
Input 01
5
10 20 7 7 11
Output 01
10 20 28 28 28
[Mảng 1 Chiều Cơ Bản]. Bài 56. Cặp số có hiệu bằng k
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử và số nguyên k, bạn hãy đếm xem trong mảng có bao nhiêu cặp số có hiệu bằng k
Đầu vào
Dòng 1 là N và k
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
0≤A[i], k≤10^6
Đầu ra
In ra số cặp thỏa mãn
Ví dụ :
Input 01
6 2
1 3 3 2 4 4
Output 01
4
[Mảng 1 Chiều Cơ Bản]. Bài 57. Cặp số Fibonacci
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử bạn hãy đếm xem trong mảng A[] có bao nhiêu cặp số có tổng là 1 số trong dãy số Fibonacci
Lưu ý dãy Fibonacci bắt đầu từ số 0
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
0≤A[i] ≤10^6
Đầu ra
In ra đáp án của bài toán
Ví dụ :
Input 01
5
1 2 3 4 5
Output 01
4
[Mảng 1 Chiều Cơ Bản]. Bài 58. Cặp đôi xa cách
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử bạn hãy tìm 2 số A[i] và A[j] trong mảng với A[i] = A[j] và i < j sao cho j - i đạt giá trị lớn nhất.
Ví dụ : A = [1, 2, 3, 1, 1, 5] thì cặp i = 0 và j = 4 là kết quả tốt nhất.
Bạn hãy tìm giá trị lớn nhất của j - i, nếu trong mảng không tồn tại cặp A[i] và A[j] (i < j) bằng nhau thì bạn hãy in ra 28tech.
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
0≤A[i] ≤10^6
Đầu ra
In ra đáp án của bài toán
Ví dụ :
Input 01
6
1 2 3 1 1 5
Output 01
4
Input 02
5
1 2 3 4 5
Output 02
28tech
[Mảng 1 Chiều Cơ Bản]. Bài 59. Tìm kiếm trong mảng
Nộp bàiPoint: 100
Cho mảng A[], B[] gồm N phần tử và M phần tử bạn hãy xác định xem mỗi phần tử trong mảng A[] có xuất hiện trong mảng B[] hay không, nếu có in ra 1 ngược lại in ra 0.
Đầu vào
Dòng 1 là N và M
Dòng 2 là N số của mảng A[] viết cách nhau 1 dấu cách
Dòng 3 là M số của mảng B[] viết cách nhau 1 dấu cách
Giới hạn
1≤N, M≤10^5
0≤A[i] ,B[i]≤10^6
Đầu ra
In ra đáp án của bài toán
Ví dụ :
Input 01
4 4
1 2 3 6
1 1 2 5
Output 01
1 1 0 0
[Mảng 1 Chiều Cơ Bản]. Bài 60. Dãy số chia dư
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử bạn hãy tính kết quả của biểu thức
S = (A[0]^0 + A[1]^1 + A[2]^2 + …. + A[N-1]^(N-1)) % 1000000007
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Giới hạn
1≤N≤10^3
0≤A[i] ≤10^6
Đầu ra
In ra đáp án của bài toán
Ví dụ :
Input 01
3
2 1 5
Output 01
27
Input 02
16
2 2 4 8 4 8 8 4 7 2 5 0 8 2 6 7
Output 02
660967730
[Mảng 1 Chiều Cơ Bản]. Bài 61. Truy vấn phần tử khác nhau
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử và nhiều truy vấn, mỗi truy vấn yêu cầu bạn đếm số lượng giá trị khác nhau trong đoạn từ chỉ số 0 tới chỉ số K.
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Dòng thứ 3 là số truy vấn Q
Q dòng tiếp theo mỗi dòng là 1 số nguyên K
Giới hạn
1≤N≤10^3
0≤A[i]≤10^6
1<=Q<=10000
0<=K<=N-1
Đầu ra
Đối với truy vấn hãy in ra kết quả trên từng dòng
Ví dụ :
Input 01
6
1 2 1 2 3 1
3
2
4
5
Output 01
2
3
3
[Mảng 1 Chiều Cơ Bản]. Bài 62. Truy vấn đoạn nguyên tố
Nộp bàiPoint: 100
Cho mảng A[] gồm N phần tử và nhiều truy vấn, mỗi truy vấn yêu cầu bạn đếm số lượng phần tử trong mảng là số nguyên tố trong đoạn chỉ số [L, R]
Đầu vào
Dòng 1 là N : số phần tử trong mảng
Dòng 2 là N số viết cách nhau 1 dấu cách
Dòng thứ 3 là số truy vấn Q
Q dòng tiếp theo mỗi dòng là 2 chỉ số L, R
Giới hạn
1≤N≤10^3
0≤A[i] ≤10^6
1<=Q<=10000
0<=L<=R < N
Đầu ra
Đối với truy vấn hãy in ra kết quả trên từng dòng
Ví dụ :
Input 01
6
1 2 1 2 3 1
2
2 3
0 5
Output 01
1
3
[Vector]. Bài 18. Hệ thập lục phân
Nộp bàiPoint: 100
Cho số N không âm 64 bit, bạn hãy in ra dạng thập lục phân của N. Bạn cần triển khai theo mã nguồn sau
vector<char> convert_number(long long n){
}
int main(){
int t; cin >> t;
while(t--){
long long n;
cin >> n;
vector<char> res = convert_number(n);
for(char x : res){
cout << x;
}
cout << endl;
}
return 0;
}
Đầu vào
• Dòng 1 là T : số test case
• T dòng tiếp theo mỗi dòng là số nguyên N
Giới hạn
• 1<=T<=1000
• 0<=N<=10^18
Đầu ra
• Đối với mỗi test in ra dạng thập lục phân của N
Ví dụ :
Input 01
10
264
25
23
338
259
318
481
136
207
8
Output 01
108
19
17
152
103
13e
1e1
88
cf
8
[Vector]. Bài 19. Nguyên tố & không nguyên tố
Nộp bàiPoint: 100
Cho 1 dãy số có không quá 10k số nguyên, bạn hãy lọc ra các số nguyên tố trong dãy và in theo thứ tự xuất hiện từ cuối về, và các số không nguyên tố thì bạn in theo thứ tự xuất hiện.
Ví dụ : dãy số : 1 3 2 7 8 10 2 thì bạn cần in các số nguyên tố theo thứ tự ngược là 2 7 2 3, các số không nguyên tố là 1 8 10
Gợi ý : Để đọc hết mọi số trong luồng input bạn sử dụng vòng lặp sau
int n;
while(cin >> n){
//Xử lý n đọc được
}
Đầu vào
Gồm nhiều dòng, mỗi dòng gồm nhiều số
Giới hạn
Có không quá 10k số, các số xuất hiện trong dãy là số int
Đầu ra
Dòng 1 in ra các số nguyên tố theo thứ tự xuất hiện ngược từ cuối về
Dòng 2 in ra các số không phải là số nguyên tố theo thứ tự xuất hiện
Ví dụ :
Input 01
19
12 12 16
5 17 2
12
3 14
11 12 14
15 12
Output 01
11 3 2 17 5 19
12 12 16 12 14 12 14 15 12
[Vector]. Bài 20. Nguyên âm
Nộp bàiPoint: 100
Cho 1 dãy các cặp gồm 1 kí tự in thường đi kèm với 1 số tương ứng, nhiệm vụ của bạn là hãy liệt kê các cặp có kí tự đi kèm là nguyên âm, nguyên âm gồm 5 chữ cái o, a, i, e, u. Bạn cần liệt kê theo thứ tự ngược từ cuối về, trong trường hợp không có cặp nào có kí tự là nguyên âm thì in ra 28tech.
Đầu vào
Dòng 1 là N : số cặp
N dòng tiếp theo mỗi dòng là 1 ký tự và số đi kèm
Giới hạn
1<=N<=20000
Các chữ cái trong cặp số là chữ in thường, số là số nguyên 32 bit
Đầu ra
In ra các cặp thỏa mãn theo thứ tự ngược với thứ tự xuất hiện hoặc in ra 28tech nếu không có cặp thỏa mãn
Ví dụ :
Input 01
14
g 20
i 98
r 67
q 88
v 46
o 89
k 98
t 43
s 70
o 75
o 96
i 22
j 97
m 64
Output 01
i 22
o 96
o 75
o 89
i 98
[Vector]. Bài 21. Bộ 3 số
Nộp bàiPoint: 100
Cho N bộ 3 số nguyên x, y, z, bạn hãy liệt kê các bộ 3 số có tổng x + y + z là số nguyên tố theo thứ tự ngược từ cuối về. Trong trường hợp không xuất hiện bộ 3 thỏa mãn thì in ra 28tech.
Đầu vào
Dòng 1 là N : số cặp
N dòng tiếp theo mỗi dòng là 1 bộ 3 số x, y, z
Giới hạn
1<=N<=20000
0<=x,y,z<=1000
Đầu ra
In ra các bộ 3 thỏa mãn theo thứ tự ngược với thứ tự xuất hiện hoặc in ra 28tech nếu không có bộ thỏa mãn
Ví dụ :
Input 01
10
2 0 10
2 4 8
17 19 10
14 15 8
15 6 14
7 12 13
3 1 13
9 8 5
1 18 9
11 11 8
Output 01
3 1 13
14 15 8
[Vector]. Bài 22. Xoay hình vuông
Nộp bàiPoint: 100
Cho 1 bảng số HCN có 2 dòng và 3 cột, ở mỗi bước bạn có thể chọn 4 ô trong hình vuông bên trái hoặc bên phải và quay theo chiều kim đồng hồ. Cho N lượt quay, bạn hãy in ra các ô trong HCN sau khi quay N lần.
Đầu vào
2 dòng đầu là 6 số trong bảng số ban đầu
Dòng thứ 3 là N : số lượt lượt quay
Dòng thứ 4 là N chữ cái L hoặc R, L tương ứng với xoay 4 ô trong hình vuông bên trái và R tương ứng với xoay 4 ô trong hình vuông bên phải
Giới hạn
1<=N<=1000
Đầu ra
In ra 2 dòng tương ứng với bảng số sau khi quay N lần
Ví dụ :
Input 01
2 3 4
5 6 7
2
L R
Output 01
5 3 2
6 7 4