[DSA T7 2024]. TEST 1. VECTOR, SET, MAP

[Vector]. Bài 18. Hệ thập lục phân

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

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

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

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

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

[Set & Map]. Bài 29. Kí tự chữ cái khác nhau

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 2

Cho một mảng kí tự A[] gồm N kí tự, bạn hãy xác định có bao nhiêu kí tự là chữ cái khác nhau xuất hiện trong mảng A[] nhưng không phân biệt hoa thường. Tức là chữ cái in hoa và in thường của cùng 1 chữ cái được coi là giống nhau, ví dụ a và A được coi là giống nhau.


Đầu vào

Dòng 1 là N : số kí tự trong mảng

Dòng 2 gồm N kí tự viết cách nhau 1 dấu cách


Giới hạn

1<=N<=10^6

Các kí tự là chữ in hoa, in thường và chữ số


Đầu ra

Dòng 1 in ra số lượng kí tự chữ cái khác nhau

Dòng 2 liệt kê các chữ cái khác nhau đó theo thứ tự từ điển tăng dần.


Ví dụ :

Input 01
10
2 8 T E C H t e c h
Output 01
4
c e h t

[Set & Map]. Bài 32. Truy vấn ký tự

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 2

Cho mảng A[] gồm N phần tử là các ký tự in hoa, in thường hoặc chữ số. Gọi mảng B[] là mảng gồm các kí tự khác nhau của mảng A[]. Bạn hãy in ra số lượng phần tử của mảng B[] và liệt kê các kí tự trong mảng B[] theo thứ tự từ điển giảm dần.


Đầu vào

Dòng 1 là N : số phần tử trong mảng

Dòng 2 là N ký tự viết cách nhau 1 dấu cách


Giới hạn

1<=N<=10^5


Đầu ra

Dòng 1 in ra số lượng phần tử của mảng B[]

Dòng 2 in ra các ký tự trong mảng B[] theo thứ tự từ điển giảm dần


Ví dụ :

Input 01
12
2 8 t e c h 2 8 t e c h
Output 01
6
t h e c 8 2

[Vector]. Bài 22. Xoay hình vuông

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 2

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

[Vector]. Bài 23. Distinct list

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 2

Cho 1 danh sách các mảng 1 chiều, 2 mảng 1 chiều được coi là giống nhau nếu chúng có số lượng phần tử giống nhau và tất cả các phần tử trong 2 mảng này phải giống nhau tại từng vị trí.

Bạn hãy xác định xem N mảng 1 chiều đã cho có bao nhiêu mảng riêng biệt?


Đầu vào

Dòng 1 là N : số lượng mảng 1 chiều

N dòng tiếp theo mỗi dòng sẽ mô tả 1 mảng 1 chiều gồm chữ số đầu tiên của dòng là M : số lượng phần tử trong mảng, M số tiếp theo trên cùng dòng đó là các phần tử trong mảng


Giới hạn

1<=N<=1000

1<=M<=1000

Các phần tử trong mảng 1 chiều là số nguyên 32 bit.


Đầu ra

In ra số lượng mảng 1 chiều khác nhau


Ví dụ :

Input 01
5
3 1 2 3
3 1 2 3
5 1 1 1 1 1
4 2 2 2 2
4 2 2 2 2
Output 01
3