999ms

Untitled

Mar 31st, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.25 KB | None | 0 0
  1. n = int(input())
  2. nums=[]
  3. temp=[]
  4. for i in range(n):
  5.     nums.append(input())
  6.  
  7. m = int(input())
  8.  
  9. def get_numb(s):
  10.     answer = ''
  11.     for i in s:
  12.         if i in '0123456789X':
  13.             answer += i
  14.     return answer
  15.  
  16. for i in range(m):
  17.   temp.append(input().split('-'))  #template - region
  18.   temp[i] = temp[i],get_numb(temp[i][0])
  19.  
  20. for i in range(n):
  21.     nums[i] = nums[i].replace('-','').replace('+','') \
  22.     .replace(' ','').replace('(','').replace(')','')
  23.  
  24. def check_temp(tmp, nmb):
  25.     if len(tmp) != len(nmb):
  26.         return False
  27.     for i in range(len(tmp)):
  28.         if tmp[i]!='X':
  29.             if tmp[i] != nmb[i]:
  30.                 return False
  31.     return True
  32.  
  33. for i in range(n):
  34.     for j in range(m):
  35.         if check_temp(temp[j][1], nums[i]):
  36.             nums[i] = nums[i],j
  37.             break
  38.  
  39. def get_temp_str(nmb):
  40.     index = int(nmb[1])
  41.     number = nmb[0]
  42.     template = temp[index][0][0]
  43.     j = 0
  44.     answer = ''
  45.     for i in range(len(number)):
  46.       while template[j] not in '0123456789X':
  47.           answer += template[j]
  48.           j+=1
  49.       answer += number[i]
  50.       j+=1
  51.     return answer + ' -' + temp[index][0][1]
  52.    
  53. for i in range(n):
  54.     nums[i] = get_temp_str(nums[i])
  55.     print(nums[i])
Add Comment
Please, Sign In to add comment