백준 10944 랜덤 게임~~ 문제 풀이
문제 파악하기
답안과 채점 프로그램 모두 1부터 10,000의 정수 중 하나를 제시하고 두 수가 같으면 정답이 처리되는 문제입니다. 채점 프로그램은 수를 매번 랜덤으로 제시하므로 매 제출은 1/10000, 0.01% 확률로 통과할 수 있습니다.
가능한 한 많이 답안을 제출해야하는 문제이지만, 백준은 10×(⌊(오늘 제출)/50⌋+1)초
의 제출 시간 제한이 있으므로 하루에 제출할 수 있는 문제 수에는 한계가 있습니다.
또, 이 문제의 채점 우선 순위는 3입니다. 채점 순위 3 에는 재채점도 속해있어서, 상당한 시도 횟수를 가지고 있는 문제가 재채점되면 며칠이 지나도 채점 결과를 확인하지 못할 수도 있습니다.
문제 풀어보기
채점 프로그램이 1부터 10,000의 정수 중 하나를 랜덤으로 출력한다고 해서 제출마저 랜덤으로 제시할 필요는 없습니다. Text 형식으로 정수 하나를 계속해서 제출해도 됩니다.
중요한 것은 제출 횟수와 다음 제출까지의 시간 제한입니다. 문제를 통과하기 위해 가능한 한 많은 양의 답안을 제출할 필요가 있지만, 시간 제한 때문에 사람이 수행하기는 현실적으로 불가능합니다. 따라서 매크로가 필요합니다.
답안 구현
이 문제에 많은 시간을 쏟고 싶지는 않았으므로 유저스크립트 브라우저 확장을 사용해 간단한 매크로를 작성했습니다.
파트 1 랜덤 게임 답안 제출 페이지에 접근하면 유저스크립트는 제출에 필요한 정보를 입력하고 Submit합니다.
파트 2 랜덤 게임 문제 페이지에 접근하면 유저스크립트는 제한 시간 동안 잠시 대기하다가 문제 제출 페이지로 이동합니다. 문제 제출 페이지로 이동하면 파트 1 스크립트가 작동하므로 다시 파트 2 로 돌아옵니다.
마무리
이 문제에 얼마나 많은 양의 답안을 제출했는지 모르겠습니다. 통과까지 보름 좀 더 되게 걸린것 같습니다. 그래도 저는 컴퓨터를 항상 켜두고 생활하므로 이 문제 시도로 생활이 불편하진 않았습니다.