Advertisement
kylemsguy

CCC 2010: J4 Up and Down v. 2

Sep 24th, 2012
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.66 KB | None | 0 0
  1. # CCC 2010 Problem J4: Up and Down
  2. # By Kyle Zhou
  3.  
  4. import math
  5. class Player:
  6.     def __init__(self, forward, back, limit):
  7.     # get the parameters for player
  8.         self.steps = 0
  9.         self.forward = forward
  10.         self.back = back
  11.         self.limit = limit
  12.         self.find_steps()
  13.  
  14.     def find_steps(self):
  15.         # Find number of full iterations of pattern
  16.         full = math.floor(self.limit / (self.forward + self.back))
  17.  
  18.         # find the number of extra steps completed
  19.         extra = self.limit % (self.forward + self.back)
  20.  
  21.         # Determine of steps completed after full iterations of pattern
  22.         steps = (self.forward - self.back) * full
  23.  
  24.         # now determine how many extra steps to add
  25.         if extra == self.forward:
  26.             self.steps += self.forward
  27.            
  28.         elif extra <= self.forward:
  29.             self.steps += extra
  30.  
  31.         elif extra > self.forward:
  32.             self.steps += self.forward
  33.             self.steps -= extra - self.forward
  34.  
  35.     def get_steps(self):
  36.         return self.steps
  37.  
  38.  
  39. def main():
  40.     # getting values for Nikky
  41.     a = input()
  42.     b = input()
  43.    
  44.     # getting values for Byron
  45.     c = input()
  46.     d = input()
  47.    
  48.     # getting max steps allowed
  49.     s = input()
  50.  
  51.     # Creating Player classes for each player
  52.     nikky = Player(a, b, s)
  53.     byron = Player(c, d, s)
  54.  
  55.     # Get the displacement of the two players
  56.     n = nikky.get_steps()
  57.     b = byron.get_steps()
  58.  
  59.     # Who's farther?
  60.     if n < b:
  61.         print "Byron"
  62.  
  63.     elif n > b:
  64.         print "Nikky"
  65.  
  66.     else:
  67.         print "Tied"
  68.  
  69.     return
  70.  
  71. if __name__ == "__main__":
  72.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement