CLOCKSYNC 속도 문제 zeroion 안녕하세요. 늦깍이 프로그래머입니다. 좋은 사이트 만들어주신 분과 함께하고 계신 분들께 먼저 감사드립니다. 다름이 아니오라 CLOCKSYNC 문제를 풀고 있는 중인데 속도가 요구사항만큼 안나와서 검토좀 부탁드리고자 합니다. 코드는 아래와 같습니다. 문제링크: https://algospot.com/judge/problem/read/CLOCKSYNC #-*- coding: utf-8 -*- import sys import time # 스위치들 switches = [ [0, 1, 2], [3, 7, 9, 11], [4, 10, 14, 15], [0, 4, 5, 6, 7], [6, 7, 8, 10, 12], [0, 2, 14, 15], [3, 14, 15], [4, 5, 7, 14, 15], [1, 2, 3, 4, 5], [3, 4, 5, 9, 13] ] # 최소클릭수 찾기 재귀함수 def find_min_combination(switch_idx, clocks, click_cnt): if switch_idx < 9: # 같은 스위치를 몇번 누르느냐 min_click_cnt = sys.maxint for click in [0, 1, 2, 3]: changed_clocks = clocks[:] for val in switches[switch_idx]: changed_clocks[val] += click if changed_clocks[val] > 4: changed_clocks[val] %= 4 click_cnt_returned = find_min_combination(switch_idx+1, changed_clocks, click_cnt + click) if click_cnt_returned < min_click_cnt: min_click_cnt = click_cnt_returned # start and middle return point return min_click_cnt else: # end return point if clocks[0] == 4\ and clocks[1] == 4\ and clocks[2] == 4\ and clocks[3] == 4\ and clocks[4] == 4\ and clocks[5] == 4\ and clocks[6] == 4\ and clocks[7] == 4\ and clocks[8] == 4\ and clocks[9] == 4\ and clocks[10] == 4\ and clocks[11] == 4\ and clocks[12] == 4\ and clocks[13] == 4\ and clocks[14] == 4\ and clocks[15] == 4: return click_cnt else: return sys.maxint case_length = int(raw_input()) # 테스트 #case_length = 1 t1 = time.time() for case in xrange(case_length): clocks = map(lambda x: (int(x)/3) % 4, raw_input().split(' ')) # 테스트 케이스1 #clocks = map(lambda x: (int(x)/3) % 4, '12 6 6 6 6 6 12 12 12 12 12 12 12 12 12 12'.split(' ')) # 테스트 케이스2 #clocks = map(lambda x: (int(x)/3), '12 9 3 12 6 6 9 3 12 9 12 9 12 12 6 6'.split(' ')) min_combination = find_min_combination(0, clocks, 0) # TODO: 못찾았을경우도 있어야함. print min_combination t2 = time.time() print "Time:", (t2 - t1) 9년 전
0개의 댓글이 있습니다. 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
zeroion
안녕하세요. 늦깍이 프로그래머입니다.
좋은 사이트 만들어주신 분과 함께하고 계신 분들께 먼저 감사드립니다.
다름이 아니오라 CLOCKSYNC 문제를 풀고 있는 중인데 속도가 요구사항만큼 안나와서 검토좀 부탁드리고자 합니다. 코드는 아래와 같습니다.
문제링크: https://algospot.com/judge/problem/read/CLOCKSYNC
9년 전