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

Mike và xâu đối xứng

Đề bài

Mô tả

Cho một xâu s gồm các chữ cái Latin thường.

Bạn phải thay đổi đúng một ký tự của s thành một chữ cái Latin thường khác (bắt buộc phải đổi, và ký tự mới phải khác ký tự cũ). Hãy xác định xem có cách nào để sau khi đổi, xâu thu được là một xâu đối xứng (đọc xuôi và đọc ngược giống nhau) hay không.

Dữ liệu vào

Một dòng duy nhất chứa xâu s.

Dữ liệu ra

In ra YES nếu có thể đổi đúng một ký tự để xâu trở thành đối xứng, ngược lại in ra NO.

Ràng buộc

  • 1|s|15
  • s chỉ gồm các chữ cái Latin thường.

Ví dụ

Input Output Giải thích
abccaa YES Chỉ có cặp (s2,s5)=(b,a) không khớp. Đổi s5 thành b được abccba là xâu đối xứng.
abbcca NO Có hai cặp không khớp: (b,c)(b,c). Một lần đổi không thể sửa cả hai.
abcda YES Chỉ có cặp (s2,s4)=(b,d) không khớp. Đổi s4 thành b được abcba.
aa NO Xâu đã đối xứng, nhưng độ dài chẵn nên không có ký tự giữa để "đổi bỏ đi". Mọi lần đổi đều phá vỡ tính đối xứng.

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