DỊCH CHUYỂN XÂU

Cho xâu ~s~ có ~n~ ký tự và dãy số ~p_1,p_2,…,p_n~ đôi một khác nhau và ~p_i∈[1,n]~.

Bạn được thực hiện nhiều thao tác với xâu ~s~, mỗi thao tác xâu ~s~ được thay thế bằng xâu ~t~, trong đó ~t_i=s_{p_i }~.

Ví dụ với với xâu ~s=abcd~ và ~p=[2,3,1,4]~ thì xâu ~t=s_2 s_3 s_1 s_4 = bcad~ sau đó ~s=t=bcda~

Yêu cầu: Hãy cho biết cần thực hiện ít nhất bao nhiêu thao tác để xâu ~s~ nhận lại giá trị ban đầu?

**Dữ liệu vào: **

  • Dòng đầu tiên ghi số nguyên ~t~ ~(1≤t≤5000)~ cho biết số lượng testcase. Mỗi testcase có cấu trúc như sau:

    • Dòng đầu ghi số nguyên ~n~ ~(1≤n≤200)~
    • Dòng thứ hai ghi xâu ~s~
    • Dòng thứ 3 ghi lần lượt các số ~p_1,p_2,…,p_n~

**Kết quả: **

  • Gồm ~t~ dòng, dòng thứ ~i~ ghi kết quả của testcase thứ ~i~

Ví dụ:

Input

2
4
abcd
2 3 1 4
5
ababa
3 4 5 2 1 

Output

3
1 

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. nmduc2 (8/15)
  2. manhooh (4/9)
  3. sori_vn (2/2)
Trong 7 ngày
  1. realreal (32/33)
  2. ducdung192 (22/31)
  3. nguyenlebaolong (21/31)
Trong 30 ngày
  1. manhooh (80/189)
  2. ducdung192 (79/109)
  3. caubeioi (59/91)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38438

Lưu Hải Phong - 2020
[email protected]