So sánh xâu

Đề bài

Mô tả

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

Hãy xác định xem có thể chọn hai vị trí khác nhau trong xâu s và đổi chỗ hai ký tự tại hai vị trí đó để thu được xâu t hay không.

Lưu ý rằng phép đổi chỗ là bắt buộc phải thực hiện đúng một lần, trên hai vị trí phân biệt. Hai xâu s và t có thể có độ dài khác nhau, và đề bài đảm bảo s≠t.

Dữ liệu vào

  • Dòng đầu tiên chứa xâu s.
  • Dòng thứ hai chứa xâu t.

Dữ liệu ra

In ra YES nếu có thể biến s thành t bằng đúng một phép đổi chỗ hai ký tự, ngược lại in ra NO.

Ràng buộc

  • 1≤|s|,|t|≤105
  • s và t chỉ gồm các chữ cái Latin thường
  • s≠t

Ví dụ

Input Output Giải thích
ab
ba
YES Đổi chỗ hai ký tự của ab được ba.
aa
ab
NO Hai xâu chỉ khác nhau tại một vị trí, trong khi một phép đổi chỗ luôn làm thay đổi đúng hai vị trí (hoặc không vị trí nào, nếu hai ký tự giống nhau).
acaa
abca
NO Hai xâu khác nhau tại đúng hai vị trí 2 và 3, nhưng cặp ký tự ở đó là (c, a) và (b, c), không phải là hoán đổi của 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.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