a.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import os, argparse
  2. mapping = {'F': '0', 'B': '1', 'R': '1', 'L': '0'}
  3. def solve_task(filename):
  4. highest = 0
  5. occupiedSeats = []
  6. with open(filename) as infile:
  7. for raw_line in infile:
  8. line = raw_line.rstrip()
  9. rowRaw = line[0:7]
  10. colRaw = line[7:10]
  11. row = int(''.join([mapping[x] for x in rowRaw]),2)
  12. col = int(''.join([mapping[x] for x in colRaw]),2)
  13. id = row*8+col
  14. #print(f"Row: {row}, col: {col}, id: {id}")
  15. highest = max(highest, id)
  16. occupiedSeats.append(id)
  17. print(f"Highest: {highest}")
  18. occupiedSeats.sort()
  19. #print(occupiedSeats)
  20. for i in range(len(occupiedSeats)):
  21. k = occupiedSeats[i+1]
  22. if occupiedSeats[i]+1 != k:
  23. print(f"Sit the fuck down!: {occupiedSeats[i]+1}")
  24. break
  25. def parse_arguments():
  26. parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
  27. parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
  28. args = parser.parse_args()
  29. return args
  30. def main():
  31. args = parse_arguments()
  32. solve_task(args.filename)
  33. if __name__ == "__main__":
  34. main()