From e6119c4dedc7a3453d1b76518dfa42b3123e716c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Mon, 9 Dec 2019 18:16:28 +0100 Subject: [PATCH 01/10] Overrides --- overrides.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/overrides.txt b/overrides.txt index e69de29..a3a14f7 100644 --- a/overrides.txt +++ b/overrides.txt @@ -0,0 +1 @@ +434739 A44 4 manually From 7717fdb5f452529d08b828a0321ff2ac924ce62f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Tue, 10 Dec 2019 13:23:40 +0100 Subject: [PATCH 02/10] C --- TaskX05/Makefile | 9 +++++++++ TaskX05/description.txt | 9 +++++++++ TaskX05/legiatolech.grm | 42 +++++++++++++++++++++++++++++++++++++++++ TaskX05/run | 3 +++ TaskX05/test.exp | 6 ++++++ TaskX05/test.in | 5 +++++ TaskX06/description.txt | 8 ++++++++ TaskX06/test.exp | 6 ++++++ TaskX06/test.in | 5 +++++ blend.sh | 2 +- 10 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 TaskX05/Makefile create mode 100644 TaskX05/description.txt create mode 100644 TaskX05/legiatolech.grm create mode 100755 TaskX05/run create mode 100644 TaskX05/test.exp create mode 100644 TaskX05/test.in create mode 100644 TaskX06/description.txt create mode 100644 TaskX06/test.exp create mode 100644 TaskX06/test.in diff --git a/TaskX05/Makefile b/TaskX05/Makefile new file mode 100644 index 0000000..1e04198 --- /dev/null +++ b/TaskX05/Makefile @@ -0,0 +1,9 @@ + +# .far to specjalny format do przechowywania spakowanych transduktorów + +BINARIES += TaskX05/legiatolech.far + +TaskX05/run: TaskX05/legiatolech.far + +TaskX05/legiatolech.far: TaskX05/legiatolech.grm + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/lib/fst" thraxcompiler --input_grammar=$< --output_far=$@ diff --git a/TaskX05/description.txt b/TaskX05/description.txt new file mode 100644 index 0000000..334c5c5 --- /dev/null +++ b/TaskX05/description.txt @@ -0,0 +1,9 @@ +Napisz gramatykę Thraxową, która zamienia wszystkie wystąpienia form +słowa "Legia" na odpowiadające formy słowa "Lech" (forma "Legii" ma +zostać zamieniona na "Lecha"). + +Uwaga: to tylko przykład zadania (i rozwiązania). Zadanie ma już +rozwiązanie, proszę go nie rozwiązywać! + +POINTS: 0 +DEADLINE: 2019-01-30 23:00 diff --git a/TaskX05/legiatolech.grm b/TaskX05/legiatolech.grm new file mode 100644 index 0000000..e0181b5 --- /dev/null +++ b/TaskX05/legiatolech.grm @@ -0,0 +1,42 @@ + +# zamiana końcówek, "i"/"ę" zgrupowane, bo zamieniamy na wspólną końcówkę +suffixes = ("a" : "") | ("i" | "ę" : "a") | ("ą" : "em"); + +# zamiana rdzenia +legia_to_lech_core = "Legi" : "Lech"; + +legia_to_lech = legia_to_lech_core suffixes; + +# Wszystkie możliwe znaki, niestety nie ma (?) prostszego sposobu. +# Zauważmy, że polskie znaki diakrytyczne będą reprezentowane +# tak naprawdę jako dwuznaki, nie stanowi to jednak problemu. +allChars = Optimize[ + "[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]" | "[37]" | "[38]" | "[39]" | "[40]" | + "[41]" | "[42]" | "[43]" | "[44]" | "[45]" | "[46]" | "[47]" | "[48]" | "[49]" | "[50]" | + "[51]" | "[52]" | "[53]" | "[54]" | "[55]" | "[56]" | "[57]" | "[58]" | "[59]" | "[60]" | + "[61]" | "[62]" | "[63]" | "[64]" | "[65]" | "[66]" | "[67]" | "[68]" | "[69]" | "[70]" | + "[71]" | "[72]" | "[73]" | "[74]" | "[75]" | "[76]" | "[77]" | "[78]" | "[79]" | "[80]" | + "[81]" | "[82]" | "[83]" | "[84]" | "[85]" | "[86]" | "[87]" | "[88]" | "[89]" | "[90]" | + "[91]" | "[92]" | "[93]" | "[94]" | "[95]" | "[96]" | "[97]" | "[98]" | "[99]" | "[100]" | +"[101]" | "[102]" | "[103]" | "[104]" | "[105]" | "[106]" | "[107]" | "[108]" | "[109]" | "[110]" | +"[111]" | "[112]" | "[113]" | "[114]" | "[115]" | "[116]" | "[117]" | "[118]" | "[119]" | "[120]" | +"[121]" | "[122]" | "[123]" | "[124]" | "[125]" | "[126]" | "[127]" | "[128]" | "[129]" | "[130]" | +"[131]" | "[132]" | "[133]" | "[134]" | "[135]" | "[136]" | "[137]" | "[138]" | "[139]" | "[140]" | +"[141]" | "[142]" | "[143]" | "[144]" | "[145]" | "[146]" | "[147]" | "[148]" | "[149]" | "[150]" | +"[151]" | "[152]" | "[153]" | "[154]" | "[155]" | "[156]" | "[157]" | "[158]" | "[159]" | "[160]" | +"[161]" | "[162]" | "[163]" | "[164]" | "[165]" | "[166]" | "[167]" | "[168]" | "[169]" | "[170]" | +"[171]" | "[172]" | "[173]" | "[174]" | "[175]" | "[176]" | "[177]" | "[178]" | "[179]" | "[180]" | +"[181]" | "[182]" | "[183]" | "[184]" | "[185]" | "[186]" | "[187]" | "[188]" | "[189]" | "[190]" | +"[191]" | "[192]" | "[193]" | "[194]" | "[195]" | "[196]" | "[197]" | "[198]" | "[199]" | "[200]" | +"[201]" | "[202]" | "[203]" | "[204]" | "[205]" | "[206]" | "[207]" | "[208]" | "[209]" | "[210]" | +"[211]" | "[212]" | "[213]" | "[214]" | "[215]" | "[216]" | "[217]" | "[218]" | "[219]" | "[220]" | +"[221]" | "[222]" | "[223]" | "[224]" | "[225]" | "[226]" | "[227]" | "[228]" | "[229]" | "[230]" | +"[231]" | "[232]" | "[233]" | "[234]" | "[235]" | "[236]" | "[237]" | "[238]" | "[239]" | "[240]" | +"[241]" | "[242]" | "[243]" | "[244]" | "[245]" | "[246]" | "[247]" | "[248]" | "[249]" | "[250]" | +"[251]" | "[252]" | "[253]" | "[254]" | "[255]" +]; + +export PROCESS = Optimize[CDRewrite[legia_to_lech, "", "", allChars*]]; diff --git a/TaskX05/run b/TaskX05/run new file mode 100755 index 0000000..96b1df6 --- /dev/null +++ b/TaskX05/run @@ -0,0 +1,3 @@ +#!/bin/bash + +LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/fst" thraxrewrite-tester --far=TaskX05/legiatolech.far --rules=PROCESS diff --git a/TaskX05/test.exp b/TaskX05/test.exp new file mode 100644 index 0000000..c9798c5 --- /dev/null +++ b/TaskX05/test.exp @@ -0,0 +1,6 @@ +Input string: Output string: Lech Warszawa +Input string: Output string: Górnik gra z Lechem +Input string: Output string: Lech Lecha Lecha Lechem +Input string: Output string: Lechxxxxx +Input string: Output string: tu nic nie ma do zamiany +Input string: \ No newline at end of file diff --git a/TaskX05/test.in b/TaskX05/test.in new file mode 100644 index 0000000..66ee623 --- /dev/null +++ b/TaskX05/test.in @@ -0,0 +1,5 @@ +Legia Warszawa +Górnik gra z Legią +Legia Legii Legię Legią +Legiaxxxxx +tu nic nie ma do zamiany diff --git a/TaskX06/description.txt b/TaskX06/description.txt new file mode 100644 index 0000000..b63a9eb --- /dev/null +++ b/TaskX06/description.txt @@ -0,0 +1,8 @@ +Napisz gramatykę Thraxową, która zamienia zera na jedynki +i jedynki na zera, a pozostałe cyfry pozostawia bez zmian. + +Można założyć, że na wejściu podawane są jedynie napisy składające się +z cyfr. + +POINTS: 1 +DEADLINE: 2018-12-19 23:59 diff --git a/TaskX06/test.exp b/TaskX06/test.exp new file mode 100644 index 0000000..aadf164 --- /dev/null +++ b/TaskX06/test.exp @@ -0,0 +1,6 @@ +Input string: Output string: 0023410 +Input string: Output string: 0101010 +Input string: Output string: 9999999 +Input string: Output string: 888088888888888 +Input string: Output string: 111 +Input string: \ No newline at end of file diff --git a/TaskX06/test.in b/TaskX06/test.in new file mode 100644 index 0000000..aa6a508 --- /dev/null +++ b/TaskX06/test.in @@ -0,0 +1,5 @@ +1123401 +1010101 +9999999 +888188888888888 +000 diff --git a/blend.sh b/blend.sh index baa9933..fbb6c8f 100755 --- a/blend.sh +++ b/blend.sh @@ -19,7 +19,7 @@ cp "${PREFIX}/count-points.pl" arena/ cp "${PREFIX}/overrides.txt" arena/ cp "${PREFIX}/Makefile" arena/ -for TX in X01 X02 X03 X04 B00 B01 B02 B03 B04 B05 B06 E01 E02 E03 E04 # X05 X06 X07 X08 X09 X10 B03 B04 X10 +for TX in X01 X02 X03 X04 X05 X06 B00 B01 B02 B03 B04 B05 B06 E01 E02 E03 E04 # X05 X06 X07 X08 X09 X10 B03 B04 X10 do mkdir -p arena/Task$TX done From a54b48d543a7354fa24164080de45994924aa653 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Tue, 10 Dec 2019 13:26:59 +0100 Subject: [PATCH 03/10] Deadline --- TaskX05/description.txt | 2 +- TaskX06/description.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TaskX05/description.txt b/TaskX05/description.txt index 334c5c5..b93dfe6 100644 --- a/TaskX05/description.txt +++ b/TaskX05/description.txt @@ -6,4 +6,4 @@ Uwaga: to tylko przykład zadania (i rozwiązania). Zadanie ma już rozwiązanie, proszę go nie rozwiązywać! POINTS: 0 -DEADLINE: 2019-01-30 23:00 +DEADLINE: 2020-01-30 23:00 diff --git a/TaskX06/description.txt b/TaskX06/description.txt index b63a9eb..50d3de4 100644 --- a/TaskX06/description.txt +++ b/TaskX06/description.txt @@ -5,4 +5,4 @@ Można założyć, że na wejściu podawane są jedynie napisy składające się z cyfr. POINTS: 1 -DEADLINE: 2018-12-19 23:59 +DEADLINE: 2019-12-13 23:59 From cfce413fe354140a9989eef7a1fac2cfb5cd434f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Tue, 10 Dec 2019 14:10:35 +0100 Subject: [PATCH 04/10] Add link to git --- TaskA49/description.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/TaskA49/description.txt b/TaskA49/description.txt index 6886df7..4f973ef 100644 --- a/TaskA49/description.txt +++ b/TaskA49/description.txt @@ -7,7 +7,9 @@ http://poleval2020.nlp.ipipan.waw.pl/challenge/poleval-diachronic-morpho Also, apart from submitting a solution you're expected to report any problems with the web site (including incorrect English, unclear -instructions, software errors). +instructions, software errors). Please add issues at +https://git.wmi.amu.edu.pl/filipg/gonito with label "poleval". +(first check whether you're the first to submit a problem). For an account there, please contact Filip Graliński, but do it only when you're sure you'll take part in it — the dataset and instructions From e2e815a9e95e5591971d40b3f9fc4ee230e93a5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Tue, 10 Dec 2019 15:07:39 +0100 Subject: [PATCH 05/10] Fix --- TaskB01/description.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TaskB01/description.txt b/TaskB01/description.txt index 7e13d5c..5d94363 100644 --- a/TaskB01/description.txt +++ b/TaskB01/description.txt @@ -4,8 +4,8 @@ Deterministic automaton II Read a description of a finite-state automaton in the AT&T format (without weights) from the standard input. Then, read strings from the file whose name was given as the first argument. If a string is -accepted by the automated, write YES, a space and the string on the -standard output, otherwise — write NO, a space and the string. +accepted by the automated, write TRUE, a space and the string on the +standard output, otherwise — write FALSE, a space and the string. If there is a non-determinism in the automaton, the first transition should be chosen. From ca4730938fe5add669f00c9fdb823ac3ba4f62ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Tue, 10 Dec 2019 16:22:10 +0100 Subject: [PATCH 06/10] Fix B04 --- TaskB04/medium.exp | 1 + 1 file changed, 1 insertion(+) diff --git a/TaskB04/medium.exp b/TaskB04/medium.exp index eaf0309..30d3540 100644 --- a/TaskB04/medium.exp +++ b/TaskB04/medium.exp @@ -1,3 +1,4 @@ +a abace abadance abadanek From f1a81e7e048b66b38ceb0ca8492d1a333214c080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Tue, 10 Dec 2019 16:28:10 +0100 Subject: [PATCH 07/10] More explanations --- TaskB04/description.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/TaskB04/description.txt b/TaskB04/description.txt index 605d73a..958cffd 100644 --- a/TaskB04/description.txt +++ b/TaskB04/description.txt @@ -7,8 +7,9 @@ cycles. The automaton alphabet is the set of Polish lower-case letters (English letters plus: ą, ć, ę, ł, ń, ó, ś, ź and ż). Your program should print, on standard output, all the paths of the -automaton in alphabetical order. "Print a path" means print a text -line containing all subsequent characters. +automaton in alphabetical order (to be precise: order induced by byte +codes of strings, not according to the standard Polish order). "Print +a path" means print a text line containing all subsequent characters. The program does not have to check whether the automaton is correct and whether it is deterministic and does not contain cycles. @@ -21,6 +22,8 @@ than sum) is taken. NOTE 2. Task only for students whose student index number ("numer indeksu") is divisible by 3 with a remainder of 1 +NOTE 3. You can add `LANG=C sort` to your Bash wrapper for the write sort. + POINTS: 14 DEADLINE: 2019-12-16 23:59 REMAINDER: 1/3 From 983775e95880d1f17f6669a78f668ead8107b37d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Thu, 12 Dec 2019 09:23:03 +0100 Subject: [PATCH 08/10] Translate into English --- TaskX05/description.txt | 10 +++++----- TaskX06/description.txt | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/TaskX05/description.txt b/TaskX05/description.txt index b93dfe6..e9d0d05 100644 --- a/TaskX05/description.txt +++ b/TaskX05/description.txt @@ -1,9 +1,9 @@ -Napisz gramatykę Thraxową, która zamienia wszystkie wystąpienia form -słowa "Legia" na odpowiadające formy słowa "Lech" (forma "Legii" ma -zostać zamieniona na "Lecha"). +Write a Thrax grammar which replaces all occurrences of Polish +inflected forms of the word "Legia" ("Legia", "Legią", "Legię", +"Legii") into the corresponding forms of the word "Lech" ("Lech", +"Lechem", "Lecha", "Lecha", respectively). -Uwaga: to tylko przykład zadania (i rozwiązania). Zadanie ma już -rozwiązanie, proszę go nie rozwiązywać! +The task has a solution already, do not solve it! POINTS: 0 DEADLINE: 2020-01-30 23:00 diff --git a/TaskX06/description.txt b/TaskX06/description.txt index 50d3de4..79b046a 100644 --- a/TaskX06/description.txt +++ b/TaskX06/description.txt @@ -1,8 +1,8 @@ -Napisz gramatykę Thraxową, która zamienia zera na jedynki -i jedynki na zera, a pozostałe cyfry pozostawia bez zmian. +Write a Thrax grammar which replaces all 0s to 1s and 1s to 0s (other +digits should not be changed). -Można założyć, że na wejściu podawane są jedynie napisy składające się -z cyfr. +You can assume that only string composed of digits are given on the +input. POINTS: 1 DEADLINE: 2019-12-13 23:59 From 014b64e6f724af87be415d3d4270494bade92af0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Thu, 12 Dec 2019 09:23:53 +0100 Subject: [PATCH 09/10] Move deadlines --- TaskB00/description.txt | 2 +- TaskB01/description.txt | 2 +- TaskB02/description.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/TaskB00/description.txt b/TaskB00/description.txt index d84cb21..9660543 100644 --- a/TaskB00/description.txt +++ b/TaskB00/description.txt @@ -18,5 +18,5 @@ NOTE: Task only for students whose student index number ("numer indeksu") is divisable by 3. POINTS: 8 -DEADLINE: 2019-12-09 18:45 +DEADLINE: 2019-12-12 18:45 REMAINDER: 0/3 diff --git a/TaskB01/description.txt b/TaskB01/description.txt index 5d94363..23db8c8 100644 --- a/TaskB01/description.txt +++ b/TaskB01/description.txt @@ -16,5 +16,5 @@ NOTE: Task only for students whose student index number ("numer indeksu") is divisable by 3 with a remainder of 1 POINTS: 8 -DEADLINE: 2019-12-09 18:45 +DEADLINE: 2019-12-12 18:45 REMAINDER: 1/3 diff --git a/TaskB02/description.txt b/TaskB02/description.txt index 5c1e651..a067ca1 100644 --- a/TaskB02/description.txt +++ b/TaskB02/description.txt @@ -24,5 +24,5 @@ NOTE: Task only for students whose student index number ("numer indeksu") is divisable by 3 with a remainder of 2 POINTS: 8 -DEADLINE: 2019-12-09 18:45 +DEADLINE: 2019-12-12 18:45 REMAINDER: 2/3 From 181464f83bca1604ca15407196649f82328cdf33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Thu, 12 Dec 2019 16:55:09 +0100 Subject: [PATCH 10/10] fix deadline --- TaskB06/description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TaskB06/description.txt b/TaskB06/description.txt index a556e1c..6212309 100644 --- a/TaskB06/description.txt +++ b/TaskB06/description.txt @@ -11,4 +11,4 @@ NOTE. In section B for points for your tasks, the maximum (rather than sum) is taken. POINTS: 18 -DEADLINE: 2019-01-10 23:59 +DEADLINE: 2020-01-10 23:59