Ако желаете да допълните това хранилище с ваши решения на задачи , можете да го направите като:
- Създайте
.cpp
файл с вашето име в директорията на съответната задача, съдържащ решението ви
-
Създайте папка за съотвения HackerRank contest в директорията отговаряща на заданието (Exam / Homework / Practicum). Следвайте йерархичната структура, утвърдена в хранилището ( <папка на тип задание> / <поредно задание> / <година> )
-
Създайте
Readme.md
файл, който съдържа единствено линк към състезанието в HackerRank и има една от следните структури:https://www.hackerrank.com/<идентификатор на състезанието> https://www.hackerrank.com/contests/<идентификатор на състезанието>/challenges/
-
Изпълнете скрипта StatementWriter.py. ВАЖНО: ПРОЧЕТЕТЕ ИНСТРУКЦИИТЕ.
Той ще генерира условията на задачите и файловата структура на състезанието. Моля, прегледайте и редактирайте неточности по условията, предизвикани от изпълнението на скрипта. -
Добавете
.cpp
файлове с вашето име в директориите на съответните задача, съдържащи решенията ви
-
Създайте папка за съотвената задача в директорията отговаряща на конкретното задание (Exam / Homework / Practicum).
-
Създайте
Readme.md
файл, който съдържа единствено линк към задачата в HackerRank и има следната структура:https://www.hackerrank.com/contests/<идентификатор на състезание>/challenges/<идентификатор на задача>
-
Изпълнете скрипта StatementWriter.py. ВАЖНО: ПРОЧЕТЕТЕ ИНСТРУКЦИИТЕ.
Той ще генерира условието на задачата. Моля, прегледайте и редактирайте неточности, предизвикани от изпълнението на скрипта.- Добавете
.cpp
файл с вашето име в директорията на съответната задача, съдържащ решението ви
- Добавете
Указания за работа със скрипта StatementWriter.py за извличане на услвия от HackerRank
Този скрипт има за цел да извлиза условията от състезанията в Hackerrank и да помага в организацията на хранилището
1. Необходим е Python >= 3.9
2. Скрипта работи с библитоеката Selenium:
pip install selenium
- Firefox (ПРЕПОРЪЧИТЕЛНО)
- Chrome - не се препоръчва, тъй като не може да работи в headless режим заради специфики на HackerRank (ще се отвори прозорец при изпълнениено на скрипта, който не трябва да се пипа)
python .\StatementWriter.py
- Избирате браузър, който да се използва при изпълнението (ако по някаква причина единият не работи, да се пробва другият)
- Въвеждате данни за Hackerrank акаунт(не се съхраняват никъде), чрез който да се извлекат условията
- Пита се потребителя за всяко открито readme дали да извлече съдържанието или не
- Ако се отнася за contest, се пита след това дали да създаде и папките и условията за задачите от състезанието
- Създават се readme файловете
- Скрипта приключва
ВАЖНО: Винаги преглеждайте markdown файловете!
- Скрипта само помага, но не върши цялата работа по извличането на условието, тъй като HackerRank не съхранява в чист вид MathJax стиловете на TeX, а GitHub не позволява показване на SVG в чист вид.
- Необходимо е на ръка да се напишата на всяко условие Constraints и да се попълнят всички други места, които се визуализират като
$MISSING$ . За тази цел се използва специален TeX синтаксис. Повече тук. Повече за LaTeX символите тук. Пример: Следния код се визуализира до$1 \le N \le 5 \cdot 10^5$ и$0 \lt a_{i} \lt 2^{24}$
$1 \le N \le 5 \cdot 10^5$
$0 \lt a_{i} \lt 2^{24}$
-
Необходимо е да се познава и синтаксиса на Markdown. Например: за заглавия
## Heading
, за връзки[show text](<link here>)
, за нов ред<празен ред>
-
Скрипта има много забележки(които може да се отстранят в следваща версия), които трябва да се имат предвид:
- Когато в даден пример (Sample Input / Output) има символи като
-*_
, а не само букви и цифри, трябва целият пример да се сложи на ръка - Почернен тескт в обяснение на пример (Explanation) се визуализира като
#### <text>
вместо като**<text>**
, което трябва да се оправи на ръка - Не хваща рядко срещани стилистични особености, като например списъци
NB: Възможно е наличие и на други особености, които да представляват bug за скрипта!
Всякакъв принос по развитие на хранилището чрез качване на решения, поправяне на грешки и усъвършенстване на скриптове е високо оценен!
- Когато в даден пример (Sample Input / Output) има символи като