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: 문제 정보λ₯Ό 뢈러올 κ²½λ‘œμž…λ‹ˆλ‹€.