Source code for codeforces_core.url

import re
from typing import Tuple


[docs]def pid2url(problem_id: str) -> str: contest_id, problem_key = pid2split(problem_id) return f'/contest/{contest_id}/problem/{problem_key}'
[docs]def pid2split(problem_id) -> Tuple[str, str]: """ problem id to [contest id, problem key] pid2split('1843F2') == ['1843','F2'] """ result = re.match('^(\\d+)([A-Z]\\d?)$', problem_id) if result is None: raise Exception('problem id[' + problem_id + '] ERROR') return str(result.group(1)), str(result.group(2))
[docs]def problem_url_parse(problem_url: str) -> Tuple[str, str]: """ https://codeforces.com/contest/1740/problem/G convert to ['1740', 'G'] """ result = re.match('^.*contest/(.*)/problem/(.*)$', problem_url) assert result is not None return str(result.group(1)), str(result.group(2))