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. sythai (10/13)
  2. tribinh (8/10)
  3. hungeazy08 (7/15)
Trong 7 ngày
  1. ducdung192 (32/44)
  2. caubeioi (28/39)
  3. manhooh (24/66)
Trong 30 ngày
  1. caubeioi (114/176)
  2. manhooh (83/202)
  3. bestsoilvam (64/155)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38420

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