P178PROG - ROUND 8G - TRỘN XÂU

Link Sub: http://www.spoj.com/PTIT/problems/P178PROG/
Người Gửi: Sai

  • Problem:

Cho hai xâu ký tự S1 và S2 với độ dài N và chỉ chứa các ký tự từ A đến H. Chúng ta thực hiện thao tác như sau:  
- Bước đầu tiên tạo S12 bằng cách lấy các ký tự lần lượt trong S1 và S2 từ trái sang phải, lấy một ký tự trong S2 trước, sau đó đến 1 ký tự trong S1 và cứ như vậy. Ví dụ S1 = ABCHAD, S2= DEFDAC thì S12 = DAEBFCDHAACD  
- Sau đó ta lại lấy nữa bên trái của S12 thành S1 mới, nửa bên phải thành S2 mới. Trong ví dụ trên S1 mới là DAEBFC, S2 mới là DHAACD. Rồi lại tiếp tục như vậy trong các bước tiếp theo.  
Cho trước một xâu S có độ dài 2*N. Bài toán đặt ra là liệu có thể tạo ra xâu S sau một số lần lặp hay không.
Input
Có nhiều bộ test, mỗi bộ test có bốn dòng. Dòng đầu ghi số N không quá 100. Dòng thứ 2 ghi S1, dòng thứ 3 ghi S2. Dòng cuối ghi xâu S. Input kết thúc với một dòng ghi số 0.
Output
Ghi ra số bước lặp cần thiết. Nếu không thể tìm được thì ghi ra -1.
Example:
Input
4
AHAH
HAHA
HHAAAAHH
3
CDE
CDE
EEDDCC
0
Output:
2
-1

  • Solution:

Đã có một bài tương tự. Bài này làm theo yêu cầu của đề bài cùng với điều kiện để không tạo được xâu là quá 50 lần lặp =));

  • Code:

C++:



JAVA:


Share this

Related Posts

Previous
Next Post »