Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Talent tex update #18

Merged
merged 15 commits into from
Jul 21, 2024
90 changes: 48 additions & 42 deletions example_package/README.md
adespawn marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,39 @@

# **Szablon paczki**

- [**Ogólne informacje**](#ogólne-informacje)
- [**doc**](#doc)
- [**talentTex.cls**](#talenttexcls)
- [**prog**](#prog)
- [**Rozwiązania**](#rozwiązania)
- [**ingen**](#ingen)
otargowski marked this conversation as resolved.
Show resolved Hide resolved
- [**inwer**](#inwer)
- [**checkerka**](#checkerka)
- [**oi.h**](#oih)
- [**Scanner (Wczytywanie)**](#scanner-wczytywanie)
- [Są 3 tryby wczytywania danych](#są-3-tryby-wczytywania-danych)
- [**Najważniejszą funkcją jest wczytywanie** i realizuje ją w następujący sposób](#najważniejszą-funkcją-jest-wczytywanie-i-realizuje-ją-w-następujący-sposób)
- [**CheckerVerdict**](#checkerverdict)
- [**checker\_test**](#checker_test)
- [**InwerVerdict**](#inwerverdict)
- [**bug**](#bug)
- [**oi\_assert**](#oi_assert)
- [**Random**](#random)
- [in i out](#in-i-out)
- [Testy ocen](#testy-ocen)
- [Generowanie](#generowanie)
- [dlazaw](#dlazaw)
- [attachment](#attachment)
- [**config.yml**](#configyml)
- [Interactive tasks](#interactive-tasks)
- [Time](#time)
- [Memory](#memory)
- [Title](#title)
- [Scores](#scores)
- [Task ID](#task-id)
- [Contest type](#contest-type)
- [Expected scores](#expected-scores)
- [**Szablon paczki**](#szablon-paczki)
- [**Ogólne informacje**](#ogólne-informacje)
- [**doc**](#doc)
- [**talentTex.cls**](#talenttexcls)
- [**prog**](#prog)
- [**Rozwiązania**](#rozwiązania)
- [**ingen**](#ingen)
- [**inwer**](#inwer)
- [**checkerka**](#checkerka)
- [**oi.h**](#oih)
- [**Scanner (Wczytywanie)**](#scanner-wczytywanie)
- [Są 3 tryby wczytywania danych](#są-3-tryby-wczytywania-danych)
- [**Najważniejszą funkcją jest wczytywanie** i realizuje ją w następujący sposób](#najważniejszą-funkcją-jest-wczytywanie-i-realizuje-ją-w-następujący-sposób)
- [**CheckerVerdict**](#checkerverdict)
- [**checker\_test**](#checker_test)
- [**InwerVerdict**](#inwerverdict)
- [**bug**](#bug)
- [**oi\_assert**](#oi_assert)
- [**Random**](#random)
- [in i out](#in-i-out)
- [Testy ocen](#testy-ocen)
- [Generowanie](#generowanie)
- [dlazaw](#dlazaw)
- [attachment](#attachment)
- [**config.yml**](#configyml)
- [Interactive tasks](#interactive-tasks)
- [Time](#time)
- [Memory](#memory)
- [Title](#title)
- [Scores](#scores)
- [Task ID](#task-id)
- [Contest type](#contest-type)
- [Expected scores](#expected-scores)

## **Ogólne informacje**

Expand Down Expand Up @@ -76,18 +77,23 @@ Można też `\timg{img1.jpg}{opis}`, `\bimg{img1.jpg}{opis}`.
- `\tSection{text}` - Nagłówek w stylu talentu.
- `\tCustomSection{text}{0pt}` - Nagłówek w stylu talentu, z możliwością ustawienia odstępu od poprzedniego akapitu.
- `\tSmallSection{text}` - Mały nagłówek w stylu talentu.
- `\makecompactexample{id}` - dodaje automatycznie test "abc0{id}" z paczki, wejście i wyjście będą obok siebie.
- `\makestandardexample{id}` - dodaje automatycznie test "abc0{id}" z paczki, wejście i wyjście będą pod sobą.

Przy kompilacji testy są automatycznie czytane z folderów ./in i ./out.
Należy się upewnić, że są one wygenerowane w momencie kompilacji treści.
Te polecenia również tworzą nagłówek "Wejście" i "Wyjście".

- `\example[h/v]{id}` - Wstawia test przykłądowy "zad0{id}" z paczki.
adespawn marked this conversation as resolved.
Show resolved Hide resolved
Opcjonalnie można dodać położenie testów, h - horyzontalnie, v - pionowo, domyślnie jest h.
adespawn marked this conversation as resolved.
Show resolved Hide resolved
Przy kompilacji testy są automatycznie czytane z folderów ./in i ./out.
Należy się upewnić, że są one wygenerowane w momencie kompilacji treści.
Te polecenia również tworzą nagłówek "Wejście" i "Wyjście".
- `\ocen{\testOcen{}{} ...}` - Lista wszystkich testów ocen.
- `\testOcen{nazwa_testu}{opis_testu}` - Pojedynczy test ocen z opisem.
- `\ocenTable{}` - Tworzy tabelę z podzadaniami. Automatycznie tworzy nagłówek (Nr & Ograniczenia & Punkty).
- `\ocenRow{nr & opis & punkty}` - Pojedynczy wiersz tabeli: kolejne komórki powinny być rozdzielone znakiem &.
Jeśli chcesz mieć 2 linie w pojedynczej komórce tabeli użyj `\ocenElement{text}`.
- `\subtaskTable{}` - Tworzy tabelę z podzadaniami.
Jako argument należy przekazać `\subtask{}{}`, dla każdego podzadania.
adespawn marked this conversation as resolved.
Show resolved Hide resolved
Opcjonalnie można podać ile punktów jest za zadanie `\subtaskTable[100]{}`.
Automatycznie tworzy nagłówek (Nr & Ograniczenia & Punkty).
- `\subtask{punkty}{ograniczenie}` - Tworzy pojedynczy wiersz tabeli opisujący podzadanie z podaną ilością punktów i danym ograniczeniem.
- `\twocol[szerokość1][przerwa][t/b/c]{kolumna1}{kolumna2}` - Tworzy 2 kolumny z zawartością o szerokościach 0.5 0.5.
adespawn marked this conversation as resolved.
Show resolved Hide resolved
Można opcjonalnie podać ułamek szerokości pierwszej kolumny (0.5), ułamek szerokości przerwy (0), wybrać linię bazową połączenia (t).
adespawn marked this conversation as resolved.
Show resolved Hide resolved
- `\imgt[szerokość]{plik}{opis}` - Wstawia zdjęcie z opisem u góry. Można opcjonalnie zmienić szerokość zdjęcia (0.8).
- `\imgb[szerokość]{plik}{opis}` - Wstawia zdjęcie z opisem na dole. Można opcjonalnie zmienić szerokość zdjęcia (0.8).
- `\img{plik}` % `\img[szerokość][opis][t/b]{plik}` - Wstawia zdjęcie. Można opcjonalnie zmienić szerokość zdjęcia (0.8).
adespawn marked this conversation as resolved.
Show resolved Hide resolved

## **prog**

Expand Down
Binary file modified example_package/doc/abcopi.pdf
Binary file not shown.
Binary file modified example_package/doc/abcopr.pdf
Binary file not shown.
Binary file modified example_package/doc/abczad.pdf
Binary file not shown.
101 changes: 53 additions & 48 deletions example_package/doc/abczad.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2,98 +2,103 @@

\title{Przykładowy tytuł zadania}
\id{abc}
\iomode{stdin} % stdin
\Memory{256} % w MB
\Time{2,4} % w sekundach
\group{A}
\konkurs{SKN 2023/24}
\day{Runda 17}

%%%%%%%%%%%%%%%%%%
% Przydatne komendy:
% \pagebreak % komenda zaczynająca nową stronę pdfa
% ~ % słowa oddzielone '~' zamiast ' ' w~taki sposób będą zawsze koło siebie
% $text_mat$ % pozwala na pisanie wyrażeń matematycznych
% Dokumentacja:
% https://www.overleaf.com/learn

%%%%%%%%%%%%%%%%%%
% Komendy talentowe
% \start{} % Rozpoczyna treść, musi być na samym początku treści zadania.
% \finish{} % Kończy treść, musi być na samym końcu treści zadania.
% \tSection{text} % Nagłówek w stylu talentu.
% \tCustomSection{text}{xpt} % Nagłówek w stylu talentu, z możliwością ustawienia odstępu 'x' od poprzedniego akapitu.
% \tSmallSection{text} % Mały nagłówek w stylu talentu.
% \tc{text} % Styl używany do oznaczania zmiennych.
% \makecompactexample{id} % 2 style dodawania automatycznie testów "zad0{id}" z paczki.
% \makestandardexample{id} % compact - obok siebie, standard - pod sobą.
% % Przy kompilacji testy są automatycznie czytane z folderów ./in i ./out
% \ocen{text} % Lista wszystkich testów ocen.
% \testOcen{text}{text2} % Pojedyńczy test ocen z opisem.
% \ocenTable{text} % Tabela z podzadaniami.
% \ocenRow{text} % Pojedyńczy wiersz tabeli: kolejne komórki powinne być rodzielone znakiem &.
% \ocenElement{text} % Jeśli chcesz mieć 2 linie w pojedyńczej komórce tabeli.
\contest{SKN 2023/24}
\day{}
adespawn marked this conversation as resolved.
Show resolved Hide resolved
\round{17}
\group{A}
\Memory[MB]{256}
\Time[s]{2,4}

\start{}

Lorem ipsum dolor ssist amdet, consectetur adipiscing elit.
Donec rhoncus torstor vitae lorem luctus maximus.
Donec bibendum, dui eget diganissim viverra, lectus leo scelerisque metus, ut sagittis ligula nisl ut purus.
Etiam imperdiet luctus leo, et molestie diam congue auctor. Sed sapien eros, imperdiet in fermentum $\tc{a}$, faucibus ut ex cośtam.
% pusta linijka, by zacząć akapit od wcięcia
Etiam imperdiet luctus leo, et molestie diam congue auctor.
Sed sapien eros, imperdiet in fermentum $\tc{a}$, faucibus ut ex cośtam cośtam.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Donec rhoncus tortor vitae lorem luctus maximus.

\tSection{Wejście}

W pierwszym wierszu standardowego wejścia znajduje się jedna liczba $\tc{n}$ ($1\leq \tc{n}\leq 1\ 000\ 000$), oznaczająca parametr z~wejścia.
W pierwszym wierszu standardowego wejścia znajduje się jedna liczba \tc{n} ($1 \leq \tc{n} \leq 10^6$), oznaczająca parametr z~wejścia.
W drugim wierszu znajduje się $\tc{n}$ liczb $\tc{a_i}$ $(1 \leq \tc{n} \leq 10^6)$.

\tSection{Wyjście}

Lorem ipsum dolor ssist amdet, consectetur adipiscing elit.
Donec rhoncus torstor vitae lorem luctus maximus.
Donec bibendum, dui eget diganissim viverra, lectus leo scelerisque metus, ut sagittis ligula nisl ut purus.

W pierwszym wierszu wyjścia powinna znajdować się jedna liczba $\tc{z}$, wynik z zadania.
W pierwszym wierszu wyjścia powinna znajdować się jedna liczba, wynik z zadania.

\tSection{Przykład}

\makestandardexample{a} % abc0.in -> {}, abc0x.in -> {x}
\makecompactexample{a} % testy muszą być wygenerowane więc użyj st-make ingen outgen
\example[v]{a}
\example[h]{a}
\example{a}

\tCustomSection{Wyjaśnienie przykładów}{5pt}
\tSection{Wyjaśnienie przykładów}

\tSmallSection{Przykład 1}

Lorem ipsum dolor ssist amdet, consectetur adipiscing elit.
Lorem ipsum dolor ssist amdet, consectetur adipiscing elit.
Donec rhoncus torstor vitae lorem luctus maximus.
Donec bibendum, dui eget diganissim viverra, lectus leo scelerisque metus, ut sagittis ligula nisl ut purus.

\tSmallSection{Przykład 2}

Lorem ipsum dolor ssist amdet, consectetur adipiscing elit.
Lorem ipsum dolor ssist amdet, consectetur adipiscing elit.

\tSection{Testy ocen}

\tSection{Testy ocen:}
\ocen{
\testOcen{1ocen}{$\tc{n} = 69$, Założenie jakieś}
\testOcen{2ocen}{$\tc{n} = 420$, założenie jakieś 2}
\testOcen{0b}{$\tc{n} = 420$, założenie jakieś 2}
}

\tSection{Ocenianie}

Zestaw testów dzieli się na następujące podzadania.
Testy do każdego podzadania składają się z jednej lub większej liczby osobnych grup testów.

% Alternatywnie \customOcenTable{|c|c|c|}{\tc{Nr} & \tc{Ograniczenia} & \tc{Punkty}}{reszta tabeli}

\ocenTable{
\ocenRow{1 & $\tc{n} \leq 100$ & 30}
\ocenRow{2 & \ocenElement{$\tc{n} \leq 1000$ Dwie\\ Linie} & 20}
\ocenRow{3 & Bez ograniczeń & 50}
\subtaskTable{
\subtask{30}{$\tc{n} \leq 100$}
\subtask{20}{$\tc{n} \leq 1000$ Dwie\\ Linie}
\subtask{50}{Bez ograniczeń}
}

\finish{}

%%%%%%%%%%%%%%%%%%
% Przydatne komendy:
% \pagebreak % komenda zaczynająca nową stronę pdfa
% ~ % słowa oddzielone '~' zamiast ' ' w~taki sposób będą zawsze koło siebie
% pusta linijka rozpoczyna nowy akapit.
% \footnote{text} tworzy adnotację na dole strony do miejsca w którym użyto.
% \vspace{5pt} tworzy odstęp.
% $text_mat$ % pozwala na pisanie wyrażeń matematycznych
% Dokumentacja:
% https://www.overleaf.com/learn

%%%%%%%%%%%%%%%%%%
% Komendy talentowe:
% \start{} % Rozpoczyna treść, musi być na samym początku treści zadania.
% \finish{} % Kończy treść, musi być na samym końcu treści zadania.
adespawn marked this conversation as resolved.
Show resolved Hide resolved
% \tSection{text} % Nagłówek w stylu talentu.
% \tSmallSection{text} % Mały nagłówek w stylu talentu.
% \tc{text} % Styl używany do oznaczania zmiennych.
% \example[h/v]{id} % Wstawia test przykłądowy "zad0{id}" z paczki.
% abc0.in -> example{}, abc0xy.in -> example{xy}, abc0x.in -> example[v]{x}.
% Opcjonalnie można dodać położenie testów, 'h' - horyzontalnie, 'v' - pionowo, domyślnie jest h.
% Przy kompilacji testy są automatycznie czytane z folderów ./in i ./out
% \ocen{ \testOcen{}{} } % Lista wszystkich testów ocen.
% \testOcen{test}{text} % Pojedyńczy test ocen z opisem. Podajesz nazwe testu (1ocen, 0c, 2ocen) i opis
% \subtaskTable[point]{ subtask{}{} } % Tabela z podzadaniami. Opcjonalnie można podać ile punktów jest za zadanie.
% \subtask{point}{text} % Tworzy pojedyńczy wiersz tabeli opisujący podzadanie, o danej ilości punktów i z danym ograniczeniem.
% \twocol[szerokość1][przerwa][t/b/c]{kolumna1}{kolumna2} % Tworzy 2 kolumny z zawartością o szerokościach 0,5 0,5.
% Można opcjonalnie podać ułamek szerokości pierwszej kolumny (0.5), ułamek szerokości przerwy (0), wybrać linię bazową połączenia (t).
% \imgt[szerokość]{plik}{opis} % Wstawia zdjęcie z opisem u góry. Można opcjonalnie zmienić szerokość zdjęcia (0.8).
% \imgb[szerokość]{plik}{opis} % Wstawia zdjęcie z opisem na dole. Można opcjonalnie zmienić szerokość zdjęcia (0.8).
% \img{plik} % \img[szerokość][opis][t/b]{plik} % Wstawia zdjęcie. Można opcjonalnie zmienić szerokość zdjęcia (0.8).
Loading
Loading