Advertisement
ThihaNyein

w2_advanced

Sep 19th, 2020
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.49 KB | None | 0 0
  1. import re
  2.  
  3. def find(r,dic):
  4.   return [[i,find(r[len(i):],dic)] for i in dic if (re.match(i,r))]
  5.  
  6. def out(a,s='('):
  7.   if(a and type(a)==list):
  8.     for i in a:
  9.       for j in i:
  10.         if(type(j)==list):
  11.           s=out(j,s)
  12.         else:
  13.           s+=" "+j
  14.   else:
  15.     s+=')('
  16.   return s
  17.  
  18. T=input()
  19.  
  20. for i in range(T):
  21.   a=int(input())
  22.   dic=str(input()).split()
  23.   s=str(input())
  24.  
  25.   print("Case ",i+1,":")
  26.   print(re.sub('\($','',re.sub('\( ','(',out(find(s,dic)))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement