mirror of
https://github.com/Xevion/contest.git
synced 2025-12-12 16:11:17 -06:00
update spaced icpc contest folder to kebab case repository formatting
This commit is contained in:
41
icpc/ecna-regional-contest-2018/D/main.py
Normal file
41
icpc/ecna-regional-contest-2018/D/main.py
Normal file
@@ -0,0 +1,41 @@
|
||||
import datetime, re, os, sys
|
||||
|
||||
pattern = r'([HA]) (\d) (\d+):(\d+)'
|
||||
mmsspattern = '%M:%S'
|
||||
|
||||
# Process the input for a single niput
|
||||
def process(rawinput):
|
||||
def getBest():
|
||||
return max(score.items(), key=lambda x:x[1])[0]
|
||||
score = {'H' : 0, 'A' : 0}
|
||||
leads = {'H' : 0, 'A' : 0}
|
||||
rawinput = '\n'.join(rawinput.split('\n')[1:])
|
||||
events = re.finditer(pattern, rawinput)
|
||||
curLead = ''
|
||||
lastTime = datetime.datetime(1990, 1, 1, 0, 0, 0)
|
||||
gameEnd = datetime.datetime(1990, 1, 1, 1, 30)
|
||||
for event in events:
|
||||
# Create the formatted timecode, add the score
|
||||
timecode = '{}:{}'.format(event.group(3).zfill(2), event.group(4).zfill(2))
|
||||
curtime = datetime.datetime.strptime(timecode, mmsspattern)
|
||||
score[event.group(1)] += int(event.group(2))
|
||||
# Get the team in the lead and if it's different
|
||||
best = getBest()
|
||||
leads[best] += int((curtime - lastTime).seconds)
|
||||
lastTime = curtime
|
||||
# if gameEnd > lastTime:
|
||||
# leads[best] += (gameEnd - lastTime).seconds
|
||||
return '{} {} {}'.format(getBest(), leads['H'], leads['A'])
|
||||
|
||||
# Driver code
|
||||
def main():
|
||||
# Read inputs
|
||||
inputs = [os.path.join(sys.path[0], 'inputs', x) for x in
|
||||
os.listdir(os.path.join(sys.path[0], 'inputs'))]
|
||||
inputs = [open(path).read() for path in inputs]
|
||||
for rawinput in inputs:
|
||||
print(process(rawinput))
|
||||
print('-'*19)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user