Here i will post my solution of the first two problems in the qualifying round in the Google Code Jam. Both are easy problems.
The first one is:
https://code.google.com/codejam/contest/2974486/dashboard#s=p0
#!/usr/bin/python def read_board(row_number): for i in xrange(4): if i + 1 == row_number: row = map(int, raw_input().split(' ')) else: raw_input() return row ncases = int(raw_input()) for ncase in xrange(ncases): first_row_number = int(raw_input()) first_row = read_board(first_row_number) second_row_number = int(raw_input()) second_row = read_board(second_row_number) match_count = 0 number = 0 for i in first_row: for j in second_row: if i == j: number = i match_count += 1 break answer = 'Case #' + str(ncase + 1) + ': ' if match_count == 0: print answer + 'Volunteer cheated!' elif match_count == 1: print answer + str(number) else: print answer + 'Bad magician!'
And the other one was https://code.google.com/codejam/contest/2974486/dashboard#s=p1:
#!/usr/bin/python ncases = int(raw_input()) for ncase in xrange(ncases): data = map(float, raw_input().split(' ')) C, F, X = tuple(data) if X <= C: print 'Case #' + str(ncase + 1) + ': ' + str(X/2.0) else: house_times = [C/2.0] cookies_per_second = [2.0] min_time = X/2.0 for i in xrange(int(X)/int(C)): new_cookies_per_second = cookies_per_second[i] + F new_time = house_times[i] + X/new_cookies_per_second house_times.append(house_times[i] + C/new_cookies_per_second) cookies_per_second.append(new_cookies_per_second) min_time = min(min_time, new_time) print 'Case #' + str(ncase + 1) + ': ' + str(min_time)
Python 🙂