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

Cặp tương đồng

Đề bài

Mô tả

Hai số nguyên xy được gọi là tương đồng nếu chúng cùng tính chẵn lẻ (cùng số dư khi chia cho 2), hoặc nếu |xy|=1.

Chẳng hạn, trong mỗi cặp (2,6), (4,3), (11,7) thì hai số là tương đồng với nhau; còn trong các cặp (1,4), (3,12) thì không.

Cho một mảng a gồm n số nguyên dương, với n chẵn. Hãy kiểm tra xem có thể chia mảng thành n/2 cặp sao cho mỗi phần tử thuộc đúng một cặp và hai số trong mỗi cặp là tương đồng với nhau hay không.

Ví dụ, với mảng a=[11,14,16,12] ta có cách chia thành hai cặp (11,12)(14,16): cặp đầu tương đồng vì hai số hơn kém nhau 1, cặp sau tương đồng vì cả hai đều chẵn.

Dữ liệu vào

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

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng:

  • YES nếu tồn tại cách chia cặp thoả mãn,
  • NO nếu ngược lại.

Ràng buộc

  • 1t1000
  • 2n50, n chẵn
  • 1ai100

Ví dụ

Input Output Giải thích
7
4
11 14 16 12
2
1 8
4
1 1 1 1
4
1 2 5 6
2
12 13
6
1 6 3 10 5 8
6
1 12 3 10 5 8
YES
NO
YES
YES
YES
YES
NO
Bộ 1 đã giải thích ở đề bài. Bộ 2: 1 lẻ, 8 chẵn và 18=71 nên không tương đồng. Bộ 3: mọi cách chia đều được vì cả bốn số đều lẻ. Bộ 7: mảng có ba số lẻ 1,3,5 và ba số chẵn 12,10,8, nhưng không có hai số nào hơn kém nhau đúng 1.
1
4
1 1 1 8
NO Mảng có ba số lẻ nên bắt buộc phải có một cặp gồm một số lẻ và một số chẵn. Cặp đó chỉ hợp lệ khi hai số hơn kém nhau 1, trong khi 8 chỉ ghép được với 7 hoặc 9 mà mảng không có.
1
4
2 1 1 8
YES Mảng có hai số lẻ nên không cần cặp lẫn tính chẵn lẻ: ghép (1,1) cùng lẻ và (2,8) cùng chẵn.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0