"""
Author: Jeff Sell
Solution to Google Code Challenge practice problem "Store Credit"
https://code.google.com/codejam/contest/351101/dashboard#s=p0
This solution makes use of GCJManager.
https://github.com/jtsell/GCJManager
"""

from gcjmanager import GCJManager

from pairing import Pairing

problem = GCJManager(351101, 0, 0)

for case in range(0, int(problem.input())):
    Credit = problem.input()
    Items = problem.input()
    Prices = problem.input()
    myPairing = Pairing(Credit, Items, Prices)
    answer = myPairing.getPair()
    problem.output('{} {}'.format(answer[0], answer[1]))

message = problem.finish()
print(message)
Esempio n. 2
0
            bipartite_dfs(graph, node, 1 - alternator, visited)
    return colors

problem = GCJManager(6234486, 0, 0)
# Main per-case logic goes here:
for case in range(int(problem.input())):
    # Begin each case by setting up a graph implemented as a dictionary.
    pairs = list()
    names = set()
    league_graph = dict()
    for line in range(int(problem.input())):
        pair = problem.input().split()
        pairs.append(pair)
        names.add(pair[0])
        names.add(pair[1])
    for name in names:
        league_graph[name] = set()
    for pair in pairs:
        league_graph[pair[0]].add(pair[1])
        league_graph[pair[1]].add(pair[0])

    # Graph is initialized. Now check whether it is bipartite or not.
    colors = bipartite_dfs(league_graph, pairs[0][0], 0)
    if colors[0].intersection(colors[1]) == set():
        problem.output('Yes')
    else:
        problem.output('No')

msg = problem.finish()
print(msg)