-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathopen-problem-statement.sh
executable file
·36 lines (30 loc) · 1.09 KB
/
open-problem-statement.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# usage: ./open-problem-statement.sh JUDGE-FOLDER-PATH PROBLEM-ID-WITHOUT-CPP
JUDGE=$1
JUDGE=${JUDGE:10}
FILE=$2
if [[ $JUDGE == "live-archive" ]]
then
JUDGE="live_archive"
fi
# ignore if is no supported
if [[ $JUDGE != "uva" ]] && [[ $JUDGE != "live_archive" ]] && [[ $JUDGE != "codeforces" ]] && [[ $JUDGE != "uri" ]] && [[ $JUDGE != "spoj" ]] && [[ $JUDGE != "timus" ]] && [[ $JUDGE != "kattis" ]]
then
return
fi
FILE_uva=${FILE::${#FILE}-2}"/${FILE}.pdf"
FILE_live_archive=${FILE::${#FILE}-2}"/${FILE}.pdf"
FILE_codeforces=${FILE/-//}
FILE_uri=${FILE}
FILE_spoj=${FILE}
FILE_timus=${FILE}
FILE_kattis=${FILE}
BASE_URL_uva="https://onlinejudge.org/external/"
BASE_URL_live_archive="https://icpcarchive.ecs.baylor.edu/external/"
BASE_URL_codeforces="https://codeforces.com/problemset/problem/"
BASE_URL_uri="https://www.urionlinejudge.com.br/judge/problems/view/"
BASE_URL_spoj="https://spoj.com/problems/"
BASE_URL_timus="https://acm.timus.ru/problem.aspx?space=1&num="
BASE_URL_kattis="https://open.kattis.com/problems/"
url_judge=BASE_URL_$JUDGE
file_judge=FILE_$JUDGE
open "${!url_judge}${!file_judge}"