[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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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à Nk

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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Cho mảng A[] gồm N phần tử bạn hãy tìm 2 số A[i]A[j] trong mảng với A[i] = A[j]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]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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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à NM

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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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