Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- left = []
- right = []
- n = int(input())
- for i in range(n):
- row = input().split('_')
- left.append([0 if sym == '.' else 1 for sym in row[0]])
- free = 0
- for f in left[len(left) - 1]:
- if not f:
- free += 1
- left[len(left) - 1].append(free)
- right.append([0 if sym == '.' else 1 for sym in row[1]])
- free = 0
- for f in right[len(right) - 1]:
- if not f:
- free += 1
- right[len(right) - 1].append(free)
- d = {
- "left": left,
- "right": right,
- "rightwindow": 1,
- "leftwindow": 0,
- "leftaisle": 1,
- "rightaisle": 0,
- "right0": 'D',
- "right1": 'E',
- "right2": 'F',
- "left0": 'A',
- "left1": 'B',
- "left2": 'C',
- }
- n = int(input())
- pas_list = []
- for i in range(n):
- num, side, position = (z for z in input().split())
- pas_list.append({'num': int(num), 'side': side, 'position': side + position})
- for pas in pas_list:
- for i_row in range(len(d[pas['side']])):
- if not d[pas['side']][i_row][3] < pas['num']:
- count = pas['num']
- sid_list = d[pas['side']][i_row].copy()
- if d[pas['position']]:
- for i_prov in [2, 1, 0]:
- if not d[pas['side']][i_row][i_prov] and count > 0:
- count -= 1
- sid_list[i_prov] = 1
- else:
- break
- else:
- for i_prov in [0, 1, 2]:
- if not d[pas['side']][i_row][i_prov] and count > 0:
- count -= 1
- sid_list[i_prov] = 1
- else:
- break
- if count == 0:
- print(f"Passengers can take seats:", end='')
- sid_list[3] = d[pas['side']][i_row][3] - pas['num']
- list_for_print = sid_list[:3].copy()
- for i in range(len(list_for_print)):
- if sid_list[i] != d[pas['side']][i_row][i]:
- print(end=' ')
- list_for_print[i] = 'X'
- print(str(i_row + 1) + d[pas['side'] + str(i)], end='')
- else:
- if list_for_print[i]:
- list_for_print[i] = '#'
- else:
- list_for_print[i] = '.'
- else:
- print(end='\n')
- for i in range(len(d["left"])):
- if i != i_row:
- for ii in range(3):
- if d["left"][i][ii]:
- print('#', end='')
- else:
- print('.', end='')
- print(end='_')
- for ii in range(3):
- if d["right"][i][ii]:
- print('#', end='')
- else:
- print('.', end='')
- print(end='\n')
- elif pas['side'] == 'left':
- for ii in range(3):
- print(list_for_print[ii], end='')
- print(end='_')
- for ii in range(3):
- if d["right"][i][ii]:
- print('#', end='')
- else:
- print('.', end='')
- print(end='\n')
- elif pas['side'] == 'right':
- for ii in range(3):
- if d["left"][i][ii]:
- print('#', end='')
- else:
- print('.', end='')
- print(end='_')
- for ii in range(3):
- print(list_for_print[ii], end='')
- print(end='\n')
- d[pas['side']][i_row] = sid_list
- break
- else:
- print("Cannot fulfill passengers requirements",end='\n')
Advertisement
Add Comment
Please, Sign In to add comment