boj.python.core.problem.Problem - Hepheir/BOJ-Offline-Judge GitHub Wiki

interface Problem

Problem 객체는 백준 온라인 저지의 문제 정보를 저장하기 위해 사용됩니다. 간단히 문제 번호를 입력하여 acmicpc.net으로부터 문제 정보를 얻을 수 있습니다.

IDL Definition

interface Problem {
    readonly attribute int number;
    readonly attribute str title;
    readonly attribute Document document;
    attribute Rule rule;

    None save(str path);
    None load(str path);
}

Properties

number

문제마다 부여된 고유한 번호입니다.

title

문제의 제목입니다.

document

백준 문제 페이지에서 얻을 수 있는 문제 설명이 기록된 Document 객체입니다.

rule

이 문제의 채점에 필요한 정보를 담고있는 Rule 객체 입니다.

Methods

save()

문제 정보를 주어진 경로에 저장합니다.

저장되는 형태는 다음과 같습니다.

path/
├─ info.json
│  ├─ number
│  └─ title
│
├─ rule.json
│  ├─ judge_method
│  ├─ time_limit
│  └─ memory_limit
│
├─ document/
│  ├─ desc.html
│  ├─ input.html
│  ├─ output.html
│  └─ hint.html
│
└─ data/
   ├─ sample-1.in
   ├─ sample-1.out
   ├─ sample-2.in
   └─ sample-2.out

Args:

  • path: 문제 정보를 저장할 경로입니다.

load()

문제 정보를 주어진 경로 혹은 웹 페이지로 부터 불러옵니다.

경로를 이용하여 불러올 경우, save()에서 사용하는 형식과 불러오려는 경로상의 파일 구성이 동일해야 합니다. 만일 경로 path가 URL이거나, None, 혹은 주어지지 않을 경우, 백준 온라인 저지 홈페이지로 부터 데이터를 불러옵니다.

Args:

  • path: 문제 정보를 불러올 경로입니다.