Sắp xếp theo tổng chữ số (sắp xếp)

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

Point: 1

Cho một mảng A các số nguyên gồm N phần tử. Sắp xếp các phần tử trong mảng A theo tổng chữ số trong một phần tử tăng dần. Nếu 2 số có cùng tổng chữ số thì số nào nhỏ hơn in ra trước.


Ràng buộc: ~1 \leq N \leq 2.10^5~; ~1 \leq A[i] \leq 10^9~


input:
7
100 101 1 2 400 4 202
Output:
1 100 2 101 4 202 400

Sắp xếp sao cho số chẵn đứng trước, lẻ đứng sau, chẵn giảm dần, lẻ tăng dần

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

Point: 1

Cho một mảng a gồm n phần tử là số nguyên. Sắp xếp sao cho số chẵn đứng trước, lẻ đứng sau, chẵn giảm dần, lẻ tăng dần


Đầu vào: Dòng đầu tiên là số lượng phần tử n, dòng tiếp theo là n phần tử của mảng

--

Ràng buộc: 1 <= n <= 1000000; 0 <= a[i] <= 1000000


Đầu ra: In ra mảng đã sắp xếp theo tiêu chí trên


Input:
10
1 2 10 9 6 5 8 7 4 3
Output:
10 8 6 4 2 1 3 5 7 9

Sắp xếp các xâu theo độ dài

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

Point: 1

Cho một danh sách gồm N xâu ký tự, hãy sắp xếp lại các xâu đó theo thứ tự xâu nào dài hơn sắp xếp lên trước, nếu các xâu có độ dài bằng nhau thì xâu nào có thứ tự từ điển nhỏ hơn sẽ được sắp xếp lên trước.


Ràng buộc: ~0 < N \leq 10^6~


Input 01:
3
ab abcde abc
Output 01:
abcde abc ab
Input 02:
6
abc efghi abcdef abcde 123 abc1234
Output 02:
abc1234 abcdef abcde efghi 123 abc

Sắp xếp theo tuần suất (sắp xếp - tìm kiếm)

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

Point: 1

Cho mảng A gồm n các số nguyên dương. Bạn hãy thực hiện các thao tác sau đây:

  • Sắp xếp các phần tử trong mảng A theo tần suất giảm dần, nếu 2 số có cùng tần suất thì số nào nhỏ hơn sẽ sắp xếp lên trước

  • Sắp xếp các phần tử trong mảng A theo tần suất giảm dần, nếu 2 số có cùng tần suất thì số nào xuất hiện trước sẽ in ra trước


Ràng buộc: 1 <= n <= 10^6; 0 <= A[i] <= 10^6


Input:
10
6 8 4 10 3 4 10 2 4 1
Output:
4 4 4 10 10 1 2 3 6 8 
4 4 4 10 10 6 8 3 2 1

Sắp xếp theo giá trị tuyệt đối (sắp xếp)

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

Point: 1

Cho mảng A có N phần tử là các số nguyên. Hãy sắp xếp lại mảng theo giá trị tuyệt đối tăng dần. Lưu ý nếu phần tử đã đứng ở đúng vị trí thì không được sắp xếp lại.


Ràng buộc: ~1 \leq N \leq 2.10^5~; ~-10^9 \leq A[i] \leq 10^9~


Input:
5
1 -3 2 -5 -1
Output:
1 -1 2 -3 -5

Sắp Xếp Ngược (cmp)

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

Point: 1

Cho một dãy số nguyên A gồm N phần tử. Hãy sắp xếp dãy số này theo thứ tự giảm dần (từ lớn đến bé).

Dữ liệu vào:

Dòng 1: Số nguyên dương N.

Dòng 2: N số nguyên A[i].

Dữ liệu ra:

In ra dãy số sau khi đã sắp xếp, các số cách nhau một dấu cách.

Ràng buộc:

1 <= N <= 10^5

|A[i]| <= 10^9

Ví dụ:

Input:
5 
1 5 3 2 4
Output:
5 4 3 2 1

Sắp Xếp Theo Số Dư (cmp)

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

Point: 1

Cho dãy số nguyên dương A. Hãy sắp xếp dãy số sao cho số dư của chúng khi chia cho 3 tăng dần. Nếu hai số có cùng số dư khi chia cho 3, số nào nhỏ hơn sẽ đứng trước.

Dữ liệu vào:

Dòng 1: Số nguyên dương N.

Dòng 2: N số nguyên A[i].

Dữ liệu ra:

Dãy số sau khi sắp xếp.

Ràng buộc:

1 <= N <= 10^5

1 <= A[i] <= 10^9

Ví dụ:

Input:
5 
10 2 5 6 1
Output:
6 1 10 2 5

Tổng Chữ Số Tăng Dần (cmp)

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

Point: 1

Cho dãy số nguyên dương A. Hãy sắp xếp dãy số này sao cho tổng các chữ số của từng số tăng dần. Nếu tổng các chữ số bằng nhau, số nào có giá trị gốc nhỏ hơn sẽ đứng trước.

Dữ liệu vào:

Dòng 1: Số nguyên dương N.

Dòng 2: N số nguyên A[i].

Dữ liệu ra:

Dãy số sau khi sắp xếp.

Ràng buộc:

1 <= N <= 1000

1 <= A[i] <= 10^9

Ví dụ:

<h7>Input:</h7>
4 
12 30 100 23
Output:
100 12 30 23

Chữ số tận cùng (cmp)

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

Point: 1

Hãy sắp xếp dãy số theo thứ tự tăng dần của chữ số tận cùng. Nếu chữ số tận cùng bằng nhau, số lớn hơn đứng trước.

Dữ liệu vào:

Dòng 1: Số nguyên dương N.

Dòng 2: N số nguyên A[i].

Dữ liệu ra:

Dãy số đã sắp xếp.

Ràng buộc:

1 <= N <= 10^5

0 <= A[i] <= 10^9

Ví dụ:

Input:
5
15 32 104 22 9
Output:
32 22 104 15 9

Sắp xếp theo tổng các chữ số (cmp)

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

Point: 1

Sắp xếp dãy số theo thứ tự tăng dần của tổng các chữ số. Nếu tổng các chữ số bằng nhau, số nào có giá trị nhỏ hơn sẽ đứng trước.

Dữ liệu vào:

Dòng 1: N.

Dòng 2: N số nguyên dương A[i].

Dữ liệu ra:

Dãy số đã sắp xếp.

Ràng buộc:

1 <= N <= 10^5

1 <= A[i] <= 10^9

Ví dụ:

Input:
4
12 30 100 23
Output:
100 12 30 23

Giải thích: Tổng chữ số lần lượt là 1, 3, 3, 5. Số 12 và 30 có cùng tổng là 3 nhưng 12 < 30.


Sắp xếp theo tổng số lượng các ước số (cmp)

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

Point: 1

Mô tả: Sắp xếp dãy số theo số lượng ước số của chúng giảm dần. Nếu hai số có cùng số lượng ước, số lớn hơn đứng trước.

Dữ liệu vào:

Dòng 1: N.

Dòng 2: N số nguyên dương A[i].

Dữ liệu ra:

Dãy số đã sắp xếp.

Ràng buộc:

1 <= N <= 1000

1 <= A[i] <= 10000

Ví dụ:

Input:
3
4 6 7
Output:
6 4 7

Giải thích: 6 có 4 ước, 4 có 3 ước, 7 có 2 ước.


Số nguyên tố đầu tiên (cmp)

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

Point: 1

Cho dãy số A. Hãy đưa các số nguyên tố ra đầu dãy (tăng dần), các số không phải nguyên tố về cuối dãy (tăng dần).

Dữ liệu vào:

Dòng 1: N.

Dòng 2: N số nguyên dương A[i].

Dữ liệu ra:

Dãy số đã sắp xếp.

Ràng buộc:

1 <= N <= 1000

1 <= A[i] <= 10^6

Ví dụ:

Input:
5
4 3 7 10 2
Output:
2 3 7 4 10

Dãy số âm dương (cmp)

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

Point: 1

Mô tả: Sắp xếp dãy số sao cho: Số âm đứng trước (giảm dần về giá trị), số 0 ở giữa, số dương đứng cuối (giảm dần về giá trị).

Dữ liệu vào:

Dòng 1: N.

Dòng 2: N số nguyên A[i].

Dữ liệu ra:

Dãy số đã sắp xếp.

Ràng buộc:

1 <= N <= 10^5

|A[i]| <= 10^9

Ví dụ:

Input:
6
2 -5 0 4 -1 0
Output:
-1 -5 0 0 4 2

Ưu tiên chính phương (cmp)

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

Point: 1

Mô tả: Sắp xếp dãy số sao cho các số chính phương đứng trước (tăng dần), các số còn lại đứng sau (tăng dần).

Dữ liệu vào:

Dòng 1: N.

Dòng 2: N số nguyên dương A[i].

Dữ liệu ra:

Dãy số đã sắp xếp.

Ràng buộc:

1 <= N <= 10^5

1 <= A[i] <= 10^9

Ví dụ:

Input:
5
5 4 9 2 1
Output:
1 4 9 2 5

Độ dài chuỗi (cmp)

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

Point: 1

Cho danh sách N từ. Hãy sắp xếp các từ theo độ dài tăng dần. Nếu hai từ có cùng độ dài, giữ nguyên thứ tự xuất hiện ban đầu (hoặc sắp xếp theo từ điển nếu muốn luyện thêm, ở bài này ta chọn sắp xếp theo từ điển).

Dữ liệu vào:

Dòng 1: N.

Dòng 2: N từ, mỗi từ cách nhau bởi dấu cách.

Dữ liệu ra:

Các từ đã sắp xếp.

Ràng buộc:

1 <= N <= 1000

Độ dài mỗi từ <= 100

Ví dụ:

Input:
4
code c++ is fun
Output:
is c++ fun code