Vest và Cà vạt

Đề bài

Mô tả

2n người xếp thành một hàng, tạo thành n cặp. Mỗi người thuộc đúng một cặp, và trong hàng có 2n số a1,a2,,a2n, trong đó với mỗi i (1in) giá trị i xuất hiện đúng hai lần: hai vị trí mang cùng một giá trị là hai người thuộc cùng một cặp.

Mỗi thao tác cho phép đổi chỗ hai người đứng cạnh nhau (hai vị trí liền kề trong hàng). Hãy tìm số thao tác ít nhất cần thực hiện sao cho hai người của mỗi cặp đứng cạnh nhau trong hàng.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số cặp.
  • Dòng thứ hai chứa 2n số nguyên a1,a2,,a2n, mô tả hàng người ban đầu.

Dữ liệu ra

  • In ra một số nguyên duy nhất — số lần đổi chỗ hai vị trí liền kề ít nhất cần thiết.

Ràng buộc

  • 1n100
  • Với mỗi i (1in), giá trị i xuất hiện đúng hai lần trong dãy.

Ví dụ

Input Output Giải thích
4
1 1 2 3 3 2 4 4
2 1 1 2 3 3 2 4 4 → 1 1 2 3 2 3 4 4 → 1 1 2 2 3 3 4 4, tốn 2 lần đổi chỗ.
3
1 1 2 2 3 3
0 Mọi cặp đã đứng cạnh nhau, không cần thao tác nào.
3
3 1 2 3 1 2
3 Cần ít nhất 3 lần đổi chỗ hai vị trí liền kề.

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