changest - Biến đổi xâu ký tự
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: ngoclannt

Với một xâu ký tự S cho trước, ta có thể thực hiện các phép biến đổi sau:

  • D: Xoá một ký tự của xâu S. Ký hiệu D i trong đó i là vị trí cần xóa
  • I: Chèn trước vị trí t của xâu S một ký tự c nào đó. Ký hiệu I t c. Qui định thêm về vị trí chèn: nếu xâu S có độ dài k, vị trí chèn là 1, 2, 3, ..., k+1, chèn ở vị trí k+1 có nghĩa là viết thêm vào cuối xâu S
  • R: Thay ký tự thứ t của S bởi ký tự c nào đó. Ký hiệu R t c

Giả sử X và Y là hai xâu ký tự. Độ dài xâu X là n, độ dài xâu Y là m (0≤m,n≤100)

Hãy tìm một dãy gồm ít nhất các phép biến đổi biến xâu X thành xâu Y (số phép biến đổi ít nhất này gọi là khoảng cách giữa hai xâu)

Dữ liệu vào cho trong file CHANGEST.INP gồm hai dòng

  • Dòng thứ nhất là xâu X
  • Dòng thứ hai là xâu Y

Kết quả ghi ra file CHANGEST.OUT:

  • Dòng thứ nhất ghi số K, đó là khoảng cách giữa hai xâu
  • K dòng tiếp theo mỗi dòng ghi ký hiệu một phép biến đổi theo trình tự thực hiện để biến X thành Y

Ví dụ:

CHANGEST.INP

CHANGEST.OUT

ertrtyui

tyuhj

6

D 1

D 1

D 1

D 1

I 4 h

R 5 j

Ví dụ

Back to Top