trang chủ / đề bài / accordion

Xếp bài Accordion

Đề bài

Mô tả

Có n lá bài được xếp thành một hàng từ trái sang phải. Ban đầu có n chồng bài, mỗi chồng gồm đúng một lá. Các chồng được đánh số từ 1 đến x theo thứ tự từ trái sang phải, với x là số chồng hiện tại.

Mỗi lượt, bạn lấy toàn bộ chồng cuối cùng (chồng số x) và đặt lên trên chồng số x−1 (nếu tồn tại) hoặc lên trên chồng số x−3 (nếu tồn tại). Chỉ được đặt chồng này lên chồng kia nếu hai lá bài trên cùng của hai chồng có cùng chất hoặc cùng giá trị. Sau khi đặt chồng x lên chồng y, lá trên cùng của chồng x trở thành lá trên cùng của chồng mới. Mỗi lượt làm số chồng giảm đi 1 (các chồng còn lại giữ nguyên thứ tự).

Trò chơi thành công nếu cuối cùng tất cả các lá bài nằm trong cùng một chồng. Hãy cho biết có thể chơi thành công hay không.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n, số lá bài.
  • Dòng thứ hai chứa n xâu c1,c2,…,cn cách nhau bởi dấu cách, ci mô tả lá bài thứ i từ trái sang. Mỗi xâu gồm đúng hai ký tự: ký tự đầu là giá trị (một trong 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K, A), ký tự sau là chất (một trong S, D, H, C).

Các lá bài có thể trùng nhau, và bộ bài không nhất thiết đủ 52 lá.

Dữ liệu ra

In ra YES nếu có thể gom tất cả các lá về một chồng, ngược lại in NO.

Ràng buộc

  • 1≤n≤52

Ví dụ

Input Output Giải thích
4
2S 2S 2C 2C
YES Đặt chồng 4 lên chồng 1 (2C và 2S cùng giá trị), rồi chồng 3 lên chồng 2, cuối cùng chồng 2 lên chồng 1.
2
3S 2C
NO 3S và 2C khác cả giá trị lẫn chất nên không thể ghép.

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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0