Mảng 1 chiều, mảng 2 chiều, vòng lặp - K - Buổi 1
Số bị thiếu
Nộp bàiPoint: 1
Bạn được cho tất cả các số nguyên từ 1 đến ~n~, ngoại trừ một số bị thiếu. Nhiệm vụ của bạn là tìm ra số bị thiếu đó.
Dữ liệu vào:
~-~Dòng đầu tiên chứa một số nguyên ~n~ — số lượng số cần có (bao gồm cả số bị thiếu).
~-~Dòng thứ hai chứa ~n - 1~ số nguyên khác nhau, mỗi số nằm trong đoạn từ 1 đến n.
Dữ liệu ra:
In ra số nguyên duy nhất bị thiếu.
Ràng buộc:
~2 ≤𝑛≤2⋅10^5~
Ví dụ :
Input:
5
2 3 1 5
Output:
4
Maximum pair (mảng 1 chiều nâng cao)
Nộp bàiPoint: 1
Cho mảng A gồm N phần tử, hãy tìm 2 chỉ số i, j khác nhau sao cho 0 <= i < j < N và trị tuyệt đối của tổng của 2 phần tử A[i] và A[j] đạt giá trị lớn nhất.
Định dạng đầu vào: Dòng đầu tiên là số nguyên N. Dòng tiếp theo gồm N số nguyên A[i]
Ràng buộc:
2<=N<=10^6;
-10^9<=A[i]<=10^9
Định dạng đầu ra: In ra đáp án của bài toán là chỉ số i và j thoả mãn. Lưu ý in chỉ số nhỏ trước lớn sau.
Input 01:
5
-1 -2 -3 10 -5
Output 01:
0 3
Input 02:
5
-1 -2 -3 8 -5
Output 02:
2 4
In ma trận theo mẫu
Nộp bàiPoint: 1
Cho ma trận vuông cỡ NxN gồm N hàng, mỗi hàng N cột. Hãy in ra ma trận theo các mẫu dưới đây.
Đầu vào
Dòng đầu tiên là số N. N dòng tiếp theo mỗi dòng có N số.
Giới hạn
1≤n≤500
Các phần tử trong ma trận là số dương không quá 10^9.
Đầu ra
In ra ma trận theo mẫu, xem test case để rõ hơn.
Ví dụ :
Input 01
5
510 745 649 186 313
474 22 168 18 787
905 958 391 202 625
477 414 314 824 334
874 372 159 833 70
Output 01
Pattern 1:
510 474 905 477 874
745 22 958 414 372
649 168 391 314 159
186 18 202 824 833
313 787 625 334 70
Pattern 2:
70 833 159 372 874
334 824 314 414 477
625 202 391 958 905
787 18 168 22 474
313 186 649 745 510
Pattern 3:
313 787 625 334 70
186 18 202 824 833
649 168 391 314 159
745 22 958 414 372
510 474 905 477 874
Pattern 4:
313 186 649 745 510
787 18 168 22 474
625 202 391 958 905
334 824 314 414 477
70 833 159 372 874
In các phần tử nằm dưới đường chéo phụ của ma trận
Nộp bàiPoint: 1
Nhập vào một ma trận vuông A gồm các số thực có kích thước n * n, sau đó in ra các phần tử nằm phía dưới đường chéo phụ (nằm ở tam giác phía dưới đường chéo phụ).
Ràng buộc: ~0 < n \leq 10^3~, ~-10^6 \leq A[i] \leq 10^6~
Input 01:
3
1 2 3
4 5 6
7 8 9
Output 01:
6 8 9
Input 02:
4
1 2 3 4
5 6 7 8
1 2 3 4
5 6 7 8
Output 02:
8 3 4 6 7 8
Sắp xếp các hàng của ma trận (mảng 2 chiều cơ bản)
Nộp bàiPoint: 1
Cho ma trận vuông cỡ NxN gồm N hàng, mỗi hàng N cột. Hãy sắp xếp các phần tử của từng hàng của ma trận theo thứ tự tăng dần.
Định dạng đầu vào: Dòng đầu tiên là số N. N dòng tiếp theo mỗi dòng có N số.
Ràng buộc: 1≤n≤200; Các phần tử trong ma trận là số dương không quá 10^9;
Định dạng đầu ra: In ra ma trận sau khi sắp xếp
Input:
3
2 7 6
1 2 3
9 8 1
Output:
2 6 7
1 2 3
1 8 9
Đếm các số nguyên tố trên đường chéo chính và phụ (mảng 2 chiều cơ bản)
Nộp bàiPoint: 1
Cho ma trận vuông cỡ NxN gồm N hàng, mỗi hàng N cột. Hãy đếm các số nguyên tố trên đường chéo chính và đường chéo phụ, mỗi giá trị là số nguyên tố thỏa mãn chỉ đếm 1 lần.
Định dạng đầu vào: Dòng đầu tiên là số N. N dòng tiếp theo mỗi dòng có N số.
Ràng buộc: 1 ≤ n ≤ 200; Các phần tử trong ma trận là số dương không quá 10^6;
Định dạng đầu ra: In ra số lượng số nguyên tổ trên đường chéo chính và phụ.
Input:
3
1 2 3
4 5 6
7 8 9
Output:
3
In các phần tử thuộc ma trận theo hình con rắn (mảng 2 chiều cơ bản)
Nộp bàiPoint: 1
Cho ma trận vuông A[n][n], hãy in các phần tử thuộc ma trận theo hình con rắn
Định dạng đầu vào: Dòng đầu tiên đưa vào n là cấp của ma trận vuông A, n dòng tiếp theo là các phần tử của ma trận
Ràng buộc: 1 <= n <= 100; 0 <= A[i][j] <= 10^7
Định dạng đầu ra: In ra ma trận theo yêu cầu
Input:
3
1 2 3
4 5 6
7 8 9
Output:
1 2 3
6 5 4
7 8 9
Đếm số nguyên tố trên đường chéo
Nộp bàiPoint: 1
Nhập ma trận A là ma trận vuông cấp n. Đếm các số nguyên tố trên đường chéo chính và đường chéo phụ (mỗi phần tử thỏa mãn chỉ đếm một lần)
INPUT:
4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
OUTPUT:
3
Cột có tổng lớn nhất
Nộp bàiPoint: 1
Nhập ma trận A là ma trận vuông cấp n. Tìm cột có tổng các phần tử lớn nhất và in ra thứ tự cột và các giá trị của cột đó (nếu có nhiều hơn một cột thì in ra vị trí cột xếp trước).
INPUT:
4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
OUTPUT:
4
4 8 12 16
Xoay ma trận 90 độ ngược chiều kim đồng hồ
Nộp bàiPoint: 1
Nhập ma trận A là ma trận vuông cấp n. Thực hiện xoay ma trận một góc 90 độ ngược chiều kim đồng hồ được ma trận B.
INPUT:
4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
OUTPUT:
4 8 12 16
3 7 11 15
2 6 10 14
1 5 9 13
Chuyển đổi sang hệ thập lục phân (hệ 16)
Nộp bàiPoint: 1
Chuyển đổi một số nguyên dương N từ hệ thập phân sang hệ thập lục phân (hệ 16), lưu ý trong hệ 16 thì 10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F
Ràng buộc: ~0 < N \leq 10^6~
Input 01:
15
Output 01:
F
Input 02:
100
Output 02:
64
Input 03:
1000000
Output 03:
F4240
Kiểm tra xâu ký tự có đối xứng không bằng đệ quy
Nộp bàiPoint: 1
Nhập vào một xâu S, kiểm tra xem xâu S có đối xứng hay không bằng đệ quy. Nếu có đối xứng thì in ra YES, ngược lại in ra NO
Input 01:
madam
Output 01:
YES
Input 02:
100001
Output 02:
YES
Input 03:
abc
Output 03:
NO
Đếm số lượng chữ số bằng đệ quy
Nộp bàiPoint: 1
Nhập N là số nguyên dương. Đếm số các chữ số có trong N bằng đệ quy (ví dụ số 1234 có 4 chữ số)
Ràng buộc: ~0 < N \leq 10^{18}~
Input 01:
1234
Output 01:
4
Input 02:
1000000000000000000
Output 02:
19
Chuyển số dương lên đầu mảng
Nộp bàiPoint: 1
Nhập vào một mảng A gồm các số nguyên có N phần tử, hãy chuyển các số dương lên đầu mảng theo cách làm xáo trộn ít nhất.
Ràng buộc: ~0 < N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~
Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.
Input 01:
5
-1 2 -3 4 5
Output 01:
5 2 4 -3 -1
Input 02:
5
1 2 -2 3 -5
Output 02:
1 2 3 -2 -5
In ra số nguyên dương nhỏ nhất chưa xuất hiện trong mảng
Nộp bàiPoint: 1
Nhập vào một mảng các số nguyên dương A có N phần tử, in ra số nguyên dương nhỏ nhất chưa xuất hiện trong mảng.
Ràng buộc: ~0 < N \leq 10^6~; ~0 < A[i] \leq 10^6~
Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.
Input 01:
8
3 3 4 6 6 7 8 9
Output 01:
5
Lưu ý: Số nguyên dương cần in phải nằm trong khoảng từ min tới max + 1 của mảng
Input 02:
9
2 2 3 4 5 6 7 8 9
Output 02:
10
Tổng các số dương liên tiếp lớn nhất
Nộp bàiPoint: 1
Nhập vào một mảng các số nguyên A có N phần tử, in ra tổng giá trị các số dương liên tiếp lớn nhất.
Ràng buộc: ~0 < N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~
Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.
Input 01:
10
5 1 4 1 3 -2 1 2 -3 10
Output 01:
14
Input 02:
10
5 1 4 1 3 -2 1 2 -3 20
Output 02:
20
Tìm số lượng số dương liên tiếp nhiều nhất trong mảng
Nộp bàiPoint: 1
Nhập vào một mảng A gồm các số nguyên dương có N phần tử, in ra số lượng các số dương liên tiếp nhiều nhất trong mảng.
Ràng buộc: ~0 < N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~
Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.
Input 01:
10
5 1 4 1 3 -2 1 2 -3 10
Output 01:
5
Số lượng các số dương liên tiếp nhiều nhất trong mảng trên là 5
Input 02:
15
5 1 4 1 3 -2 1 2 -3 10 11 12 13 14 14
Output 02:
6
Tìm vị trí lớn nhất của phần tử nhỏ nhất và ngược lại
Nộp bàiPoint: 1
Nhập vào một mảng A gồm các số nguyên dương có N phần tử, hãy tìm và in ra vị trí lớn nhất (bắt đầu từ 0) của phần tử nhỏ nhất và vị trí đầu tiên của phần tử lớn nhất.
(Nếu code bằng Python thì mỗi số sẽ được nhập trên một dòng, cần đọc từng dòng một)
Ràng buộc: ~0 < N \leq 10^6~; ~0 < A[i] \leq 10^6~
Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.
Input:
10
5 1 4 10 3 2 1 2 3 10
Output:
1 6
10 3
Số 1 nhỏ nhất xuất hiện ở vị trí lớn nhất là 6
Số 10 lớn nhất xất hiện ở vị trí đầu tiên là 3
Phần tử xuất hiện nhiều nhất
Nộp bàiPoint: 1
Nhập vào một mảng A gồm các số nguyên có N phần tử, tìm phần tử có tần suất xuất hiện nhiều nhất, nếu có nhiều phần tử có cùng tần suất xuất hiện thì in ra phần tử có giá trị lớn hơn.
Ràng buộc: ~0 < N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~
Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.
Input 01:
10
5 1 4 1 3 -2 1 2 -3 10
Output 01:
1 3
Số 1 có tần suất xuất hiện 3 lần là lớn nhất
Input 02:
10
5 5 4 1 3 -2 1 2 -3 10
Output 02:
5 2
Số 1 và số 5 đều có tần suất xuất hiện 2 lần nhưng in ra số 5 vì 5 lớn hơn 1
Số lớn thứ nhì
Nộp bàiPoint: 1
Nhập vào một mảng A có N phần tử, in ra giá trị lớn thứ nhì của mảng và chỉ số của các số hạng đạt giá trị lớn nhì trong mảng.
Dòng thứ nhất Nhập N, từ dòng thứ 2 sẽ lần lượt nhập N phần tử của mảng A
In ra phần tử lớn thứ nhì và vị trí của các phần tử lớn thứ nhì trong mảng A
Ràng buộc: ~0 < N \leq 10^6, -10^6 \leq A[i] \leq 10^6~
Input:
9
4 3 4 2 2 4 2 3 4
Output:
3 2 8
Số 3 là số lớn thứ nhì và vị trí xuất hiện của nó là vị trí 2 và 8
Phần tử là số nguyên dương xuất hiện nhiều nhất trong mảng
Nộp bàiPoint: 1
Nhập vào một mảng A gồm N số nguyên dương. Tìm phần tử có tần suất xuất hiện nhiều nhất trong mảng và xuất hiện bao nhiêu lần, sau đó in ra màn hình. Nếu có nhiều phần tử cùng xuất hiện nhiều nhất thì in ra phần tử nhỏ hơn.
Dòng thứ nhất Nhập N, từ dòng thứ 2 sẽ lần lượt nhập N phần tử của mảng A
In ra phần tử xuất hiện nhiều nhất và số lần xuất hiện
Ràng buộc: ~0 < N \leq 10^6, 0 < A[i] \leq 10^6~
Input:
9
4 1 4 2 6 4 2 3 5
Output:
4 3
Số 4 xuất hiện nhiều nhất và xuất hiện 3 lần
Input:
6
2 3 2 3 2 3
Output:
2 3
Trò chơi thang cuốn
Nộp bàiPoint: 1
Tèo và Tý vào Trung tâm thương mại để mua đồ. Khi vào siêu thị, 2 bạn thấy một thang cuốn và ở các bậc thang được đánh số thứ tự từ 1 đền n, trên mỗi bậc thang có ghi một số nguyên dương. Tuy nhiên, do thang cuốn liên tục lặp lại nên các bậc thang cũng lặp lại theo đúng trật tự. Tý đố Tèo tính tổng của m bậc thang liên tiếp bắt đầu từ bậc thang thứ k, nếu Tèo tính đúng sẽ được Tý mua cho một món quà trong Trung tâm thương mại.
Hãy giúp Tèo tính toán tổng này để nhận được quà từ Tý.
Yêu cầu: Nhập vào từ bàn phím
Dòng thứ nhất chứa các số nguyên dương n, m, k cách nhau bởi dấu cách (~m, k ≤ 10^8; n ≤ 10^6~)
Và dòng thứ 2 chứa n số nguyên dương ai, a2, a3, ..., an cách nhau bởi dấu cách là các số ghi trên các bậc thang từ bậc thứ nhất đến bậc thứ n của thang cuốn. (~1 ≤ ai ≤ 10^9~)
Kết quả: In ra màn hình số nguyên dương duy nhất là kết quả bài toán chia lấy dư cho ~10^9+ 7~
Input:
6 8 3
3 4 2 1 4 5
Output:
22
Giải thích: 8 số nguyên liên tiếp bắt đầu từ vị trí số 3 là: 2 1 4 5 3 4 2 1
Kết quả: (2 + 1 + 4 + 5 + 3 + 4 + 2 + 1) mod 1000000007 = 22
Dãy con liên tiếp dài nhất có tổng chia hết cho K
Nộp bàiPoint: 1
Cho mảng A có N phần tử và số nguyên dương K, hãy tìm dãy con liên tiếp dài nhất có tổng các phần tử chia kết cho K. In ra số lượng phần tử của dãy con liên tiếp dài nhất nếu tồn tại hoặc in ra -1 nếu không có dãy con nào chia hết cho K
Ràng buộc: ~1 \leq K \leq N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~
Input:
12 2
-4 1 4 -1 4 4 -3 4 2 -4 2 4
Output:
10
Dãy con có tổng bằng 0 dài nhất (mảng 1 chiều nâng cao)
Nộp bàiPoint: 1
Cho mảng A có N phần tử, hãy tìm dãy con liên tiếp dài nhất có tổng các phần tử bằng 0. Nếu có nhiều dãy con thỏa mãn thì in ra dãy con đầu tiên, in ra "NOT FOUND" nếu không có dãy con nào có tổng bằng 0
Ràng buộc: ~1 \leq N \leq 10^6~; ~-10^6 \leq abs(A[i]) \leq 10^6~
Input 01:
15
-4 1 2 -1 2 -3 -8 2 1 -2 -8 7 -5 2 8
Output 01:
-4 1 2 -1 2
Input 02:
4
1 2 3 -4
Output 02:
NOT FOUND
Số lớn hơn các số đứng trước (mảng 1 chiều nâng cao)
Nộp bàiPoint: 1
Cho một dãy số nguyên dương có n phần tử. Hãy liệt kê số các phần tử trong dãy lớn hơn tất cả các số đứng trước nó (Phần tử đầu tiên được coi là một phần tử thỏa mãn).
Định dạng đầu vào: Dòng đầu tiên là số lượng phần tử trong mảng. Dòng thứ 2 là N phần tử trong mảng.
Ràng buộc: 2≤n≤10^6; 1≤ai≤10^9
Định dạng đầu ra: Liệt kê các số thỏa mãn
Input:
6
6 2 1 3 9 9
Output:
6 9
Gửi thư
Nộp bàiPoint: 1
Tất cá các thành phố của Lineland đều năm trên trục tọa độ Ox. Do đó, mỗi thành phố được liên kết với vị trí xi - tọa độ trên trục Ox. Không có hai thành phố được đặt tại một điểm. Cư dân Lineland thích gửi thư cho nhau. Một người chỉ có thể gửi thư nếu người nhận sống ở một thành phố khác. Chi phí gửi thư chính xác bằng khoảng cách giữa thành phố của người gửi và thành phố của người nhận. Đối với mỗi thành phố, hãy tính hai giá trị mini và maxi, trong đó mini là chi phí tối thiểu để gửi thư từ thành phố thứ i đến một thành phố khác và maxi là chi phí tối đa để gửi thư từ thành phố thứ i đến một số thành phố khác.
Định dạng đầu vào: Dòng đầu tiên là số nguyên dương n. Dòng thứ hai chứa chuỗi n số nguyên khác nhau x1, x2,.... xn (-10^9 <= xi <=10^9), trong đó xi là tọa độ x của thành phố thứ i. Tất cả các xi là khác biệt và theo thứ tự tăng dần.
Ràng buộc: 2 ≤ n ≤ 10^6; -10^9 ≤ xi ≤ 10^9
Input:
4
-5 -2 2 7
Output:
3 12
3 9
4 7
5 12