trang chủ / bài tập / bogosort

Bogosort

Đề bài

Mô tả

Cho một mảng a1,a2,,an. Mảng được gọi là tốt nếu với mọi cặp chỉ số i<j ta luôn có jajiai.

Bạn hãy sắp xếp lại (hoán vị) các phần tử của mảng sao cho mảng trở thành tốt. "Sắp xếp lại" nghĩa là đổi thứ tự các phần tử một cách tùy ý (giữ nguyên thứ tự ban đầu cũng là một lựa chọn hợp lệ).

Dữ liệu đảm bảo luôn tồn tại cách sắp xếp thỏa mãn.

Nếu có nhiều đáp án, in ra bất kỳ đáp án hợp lệ nào.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số lượng bộ dữ liệu.
  • Với mỗi bộ dữ liệu:
    • Dòng đầu chứa số nguyên n là độ dài mảng a.
    • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một dòng gồm n số nguyên là một hoán vị của mảng a sao cho mảng thu được là tốt.

Ràng buộc

  • 1t100
  • 1n100
  • 1ai100

Ví dụ

Input Output Giải thích
3
1
7
4
1 1 3 5
6
3 2 1 5 6 4
7
5 3 1 1
6 5 4 3 2 1
Ở bộ thứ hai, với mảng 5 3 1 1 các giá trị iai lần lượt là 4,1,2,3, đôi một khác nhau nên mảng tốt. Bất kỳ hoán vị tốt nào khác cũng được chấp nhận.
1
8
1 2 3 4 5 6 7 8
8 7 6 5 4 3 2 1 Nếu để nguyên 1 2 3 4 5 6 7 8 thì mọi iai đều bằng 0 nên không tốt. Sắp giảm dần thì các giá trị iai tăng ngặt, đôi một khác nhau.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0