@jutge.org/toolkit 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/README.md +5 -0
  2. package/assets/images/jutge-toolkit.png +0 -0
  3. package/assets/images/jutge.png +0 -0
  4. package/assets/lua/fixCodeBlocks.lua +19 -0
  5. package/assets/lua/removeEnvs.lua +20 -0
  6. package/assets/lua/removeHtmlOnly.lua +11 -0
  7. package/assets/problems/function/valid-date.pbm/README.md +11 -0
  8. package/assets/problems/function/valid-date.pbm/award.html +1 -0
  9. package/assets/problems/function/valid-date.pbm/award.png +0 -0
  10. package/assets/problems/function/valid-date.pbm/ca/handler.yml +3 -0
  11. package/assets/problems/function/valid-date.pbm/ca/main.c +13 -0
  12. package/assets/problems/function/valid-date.pbm/ca/main.cc +14 -0
  13. package/assets/problems/function/valid-date.pbm/ca/main.java +16 -0
  14. package/assets/problems/function/valid-date.pbm/ca/main.py +6 -0
  15. package/assets/problems/function/valid-date.pbm/ca/problem.ca.tex +40 -0
  16. package/assets/problems/function/valid-date.pbm/ca/problem.ca.yml +3 -0
  17. package/assets/problems/function/valid-date.pbm/ca/random.inp +113976 -0
  18. package/assets/problems/function/valid-date.pbm/ca/sample.inp +4 -0
  19. package/assets/problems/function/valid-date.pbm/ca/solution.c +15 -0
  20. package/assets/problems/function/valid-date.pbm/ca/solution.cc +16 -0
  21. package/assets/problems/function/valid-date.pbm/ca/solution.java +17 -0
  22. package/assets/problems/function/valid-date.pbm/ca/solution.py +13 -0
  23. package/assets/problems/function/valid-date.pbm/en/handler.yml +3 -0
  24. package/assets/problems/function/valid-date.pbm/en/main.c +13 -0
  25. package/assets/problems/function/valid-date.pbm/en/main.cc +14 -0
  26. package/assets/problems/function/valid-date.pbm/en/main.java +16 -0
  27. package/assets/problems/function/valid-date.pbm/en/main.py +7 -0
  28. package/assets/problems/function/valid-date.pbm/en/problem.en.tex +46 -0
  29. package/assets/problems/function/valid-date.pbm/en/problem.en.yml +4 -0
  30. package/assets/problems/function/valid-date.pbm/en/random.inp +108200 -0
  31. package/assets/problems/function/valid-date.pbm/en/sample.inp +4 -0
  32. package/assets/problems/function/valid-date.pbm/en/solution.c +15 -0
  33. package/assets/problems/function/valid-date.pbm/en/solution.cc +16 -0
  34. package/assets/problems/function/valid-date.pbm/en/solution.java +20 -0
  35. package/assets/problems/function/valid-date.pbm/en/solution.py +13 -0
  36. package/assets/problems/graphic/japanese-flag.pbm/README.md +14 -0
  37. package/assets/problems/graphic/japanese-flag.pbm/award.png +0 -0
  38. package/assets/problems/graphic/japanese-flag.pbm/handler.yml +2 -0
  39. package/assets/problems/graphic/japanese-flag.pbm/problem.ca.tex +21 -0
  40. package/assets/problems/graphic/japanese-flag.pbm/problem.ca.yml +3 -0
  41. package/assets/problems/graphic/japanese-flag.pbm/sample-1.inp +1 -0
  42. package/assets/problems/graphic/japanese-flag.pbm/sample-2.inp +1 -0
  43. package/assets/problems/graphic/japanese-flag.pbm/solution.cc +25 -0
  44. package/assets/problems/graphic/japanese-flag.pbm/solution.py +11 -0
  45. package/assets/problems/graphic/tortuga.pbm/README.md +13 -0
  46. package/assets/problems/graphic/tortuga.pbm/award.png +0 -0
  47. package/assets/problems/graphic/tortuga.pbm/handler.yml +2 -0
  48. package/assets/problems/graphic/tortuga.pbm/problem.ca.tex +23 -0
  49. package/assets/problems/graphic/tortuga.pbm/problem.ca.yml +3 -0
  50. package/assets/problems/graphic/tortuga.pbm/sample.inp +0 -0
  51. package/assets/problems/graphic/tortuga.pbm/solution.py +11 -0
  52. package/assets/problems/standard/campanar-de-la-torrassa.pbm/README.md +15 -0
  53. package/assets/problems/standard/campanar-de-la-torrassa.pbm/award.html +1 -0
  54. package/assets/problems/standard/campanar-de-la-torrassa.pbm/award.png +0 -0
  55. package/assets/problems/standard/campanar-de-la-torrassa.pbm/campanar.png +0 -0
  56. package/assets/problems/standard/campanar-de-la-torrassa.pbm/handler.yml +2 -0
  57. package/assets/problems/standard/campanar-de-la-torrassa.pbm/problem.ca.tex +59 -0
  58. package/assets/problems/standard/campanar-de-la-torrassa.pbm/problem.ca.yml +3 -0
  59. package/assets/problems/standard/campanar-de-la-torrassa.pbm/problem.en.tex +52 -0
  60. package/assets/problems/standard/campanar-de-la-torrassa.pbm/problem.en.yml +4 -0
  61. package/assets/problems/standard/campanar-de-la-torrassa.pbm/sample.inp +7 -0
  62. package/assets/problems/standard/campanar-de-la-torrassa.pbm/slow.cc +29 -0
  63. package/assets/problems/standard/campanar-de-la-torrassa.pbm/solution.cc +48 -0
  64. package/assets/problems/standard/campanar-de-la-torrassa.pbm/test-1.inp +12 -0
  65. package/assets/problems/standard/campanar-de-la-torrassa.pbm/test-2.inp +100000 -0
  66. package/assets/problems/standard/campanar-de-la-torrassa.pbm/test-2.ops +1 -0
  67. package/assets/problems/standard/campanar-de-la-torrassa.pbm/test-b.inp +0 -0
  68. package/assets/problems/standard/maximum-of-2-integers.pbm/README.md +11 -0
  69. package/assets/problems/standard/maximum-of-2-integers.pbm/handler.yml +1 -0
  70. package/assets/problems/standard/maximum-of-2-integers.pbm/problem.ca.tex +17 -0
  71. package/assets/problems/standard/maximum-of-2-integers.pbm/problem.ca.yml +3 -0
  72. package/assets/problems/standard/maximum-of-2-integers.pbm/problem.en.tex +16 -0
  73. package/assets/problems/standard/maximum-of-2-integers.pbm/problem.en.yml +4 -0
  74. package/assets/problems/standard/maximum-of-2-integers.pbm/sample-1.inp +1 -0
  75. package/assets/problems/standard/maximum-of-2-integers.pbm/sample-2.inp +1 -0
  76. package/assets/problems/standard/maximum-of-2-integers.pbm/sample-3.inp +1 -0
  77. package/assets/problems/standard/maximum-of-2-integers.pbm/solution.c +18 -0
  78. package/assets/problems/standard/maximum-of-2-integers.pbm/solution.cc +13 -0
  79. package/assets/problems/standard/maximum-of-2-integers.pbm/solution.java +16 -0
  80. package/assets/problems/standard/maximum-of-2-integers.pbm/solution.py +5 -0
  81. package/assets/problems/standard/maximum-of-2-integers.pbm/test-1.inp +1 -0
  82. package/assets/problems/standard/maximum-of-2-integers.pbm/test-2.inp +1 -0
  83. package/assets/problems/standard/maximum-of-2-integers.pbm/test-3.inp +1 -0
  84. package/assets/problems/standard/maximum-of-2-integers.pbm/test-4.inp +1 -0
  85. package/assets/problems/standard/maximum-of-2-integers.pbm/test-5.inp +1 -0
  86. package/assets/problems/standard/treasures-in-a-map.pbm/README.md +12 -0
  87. package/assets/problems/standard/treasures-in-a-map.pbm/atzar.cc +85 -0
  88. package/assets/problems/standard/treasures-in-a-map.pbm/award.png +0 -0
  89. package/assets/problems/standard/treasures-in-a-map.pbm/generate-1.cc +26 -0
  90. package/assets/problems/standard/treasures-in-a-map.pbm/generate-2.cc +26 -0
  91. package/assets/problems/standard/treasures-in-a-map.pbm/generate-3.cc +26 -0
  92. package/assets/problems/standard/treasures-in-a-map.pbm/generate-4.cc +26 -0
  93. package/assets/problems/standard/treasures-in-a-map.pbm/handler.yml +1 -0
  94. package/assets/problems/standard/treasures-in-a-map.pbm/problem.ca.tex +40 -0
  95. package/assets/problems/standard/treasures-in-a-map.pbm/problem.ca.yml +3 -0
  96. package/assets/problems/standard/treasures-in-a-map.pbm/problem.en.tex +40 -0
  97. package/assets/problems/standard/treasures-in-a-map.pbm/problem.en.yml +4 -0
  98. package/assets/problems/standard/treasures-in-a-map.pbm/random-1.inp +24 -0
  99. package/assets/problems/standard/treasures-in-a-map.pbm/random-2.inp +27 -0
  100. package/assets/problems/standard/treasures-in-a-map.pbm/random-3.inp +38 -0
  101. package/assets/problems/standard/treasures-in-a-map.pbm/random-4.inp +50 -0
  102. package/assets/problems/standard/treasures-in-a-map.pbm/sample-1.inp +9 -0
  103. package/assets/problems/standard/treasures-in-a-map.pbm/sample-2.inp +6 -0
  104. package/assets/problems/standard/treasures-in-a-map.pbm/sample-3.inp +7 -0
  105. package/assets/problems/standard/treasures-in-a-map.pbm/solution.cc +38 -0
  106. package/assets/problems/standard/treasures-in-a-map.pbm/test-1.inp +5 -0
  107. package/assets/problems/standard/treasures-in-a-map.pbm/test-2.inp +6 -0
  108. package/assets/problems/standard/treasures-in-a-map.pbm/test-3.inp +6 -0
  109. package/assets/problems/standard/treasures-in-a-map.pbm/test-4.inp +9 -0
  110. package/assets/problems/standard/treasures-in-a-map.pbm/test-5.inp +10 -0
  111. package/assets/problems/standard/treasures-in-a-map.pbm/test-6.inp +9 -0
  112. package/assets/problems/standard/treasures-in-a-map.pbm/test-7.inp +12 -0
  113. package/assets/problems/standard/treasures-in-a-map.pbm/test-8.inp +3 -0
  114. package/assets/problems/standard/treasures-in-a-map.pbm/test-9.inp +37 -0
  115. package/assets/problems/standard/treasures-in-a-map.pbm/test-91.inp +52 -0
  116. package/assets/problems/standard/treasures-in-a-map.pbm/test-92.inp +25 -0
  117. package/assets/problems/standard/treasures-in-a-map.pbm/test-93.inp +3 -0
  118. package/assets/prompts/creators/create-solution.tpl.txt +10 -0
  119. package/assets/prompts/creators/create-statement.tpl.txt +21 -0
  120. package/assets/prompts/creators/create-translation.tpl.txt +5 -0
  121. package/assets/prompts/creators/private-test-cases.txt +6 -0
  122. package/assets/prompts/creators/sample-test-cases.txt +6 -0
  123. package/assets/prompts/creators/system-prompt.txt +2 -0
  124. package/assets/prompts/examples/statement-coda.tex +7 -0
  125. package/assets/prompts/examples/statement.tex +19 -0
  126. package/assets/prompts/generators/efficiency.md +41 -0
  127. package/assets/prompts/generators/hard.md +47 -0
  128. package/assets/prompts/generators/random.md +39 -0
  129. package/assets/prompts/proglangs/cc.md +3 -0
  130. package/assets/prompts/proglangs/py.md +40 -0
  131. package/assets/python/pyexec.py +29 -0
  132. package/assets/sty/judgeit.ca.sty +54 -0
  133. package/assets/sty/judgeit.de.sty +61 -0
  134. package/assets/sty/judgeit.en.sty +60 -0
  135. package/assets/sty/judgeit.es.sty +54 -0
  136. package/assets/sty/judgeit.fr.sty +59 -0
  137. package/assets/sty/judgeit.sty +326 -0
  138. package/assets/sty/picins.sty +579 -0
  139. package/dist/index.js +4246 -0
  140. package/package.json +103 -0
@@ -0,0 +1,4 @@
1
+ 29 2 2000
2
+ 29 2 3000
3
+ -3 14 2000
4
+ 1 -10 1984
@@ -0,0 +1,15 @@
1
+ int es_any_de_traspas(int any)
2
+ {
3
+ return any % 4 == 0 && (any % 100 != 0 || any % 400 == 0);
4
+ }
5
+
6
+ int es_data_valida(int d, int m, int a)
7
+ {
8
+ if (d < 1 || d > 31 || m < 1 || m > 12)
9
+ return 0;
10
+ if ((m == 4 || m == 6 || m == 9 || m == 11) && d > 30)
11
+ return 0;
12
+ if (m != 2)
13
+ return 1;
14
+ return d < 29 || (d == 29 && es_any_de_traspas(a));
15
+ }
@@ -0,0 +1,16 @@
1
+
2
+ bool es_any_de_traspas(int any)
3
+ {
4
+ return any % 4 == 0 and (any % 100 != 0 or any % 400 == 0);
5
+ }
6
+
7
+ bool es_data_valida(int d, int m, int a)
8
+ {
9
+ if (d < 1 or d > 31 or m < 1 or m > 12)
10
+ return false;
11
+ if ((m == 4 or m == 6 or m == 9 or m == 11) and d > 30)
12
+ return false;
13
+ if (m != 2)
14
+ return true;
15
+ return d < 29 or (d == 29 and es_any_de_traspas(a));
16
+ }
@@ -0,0 +1,17 @@
1
+ class Solution {
2
+
3
+ public static boolean esAnyDeTraspas(int any) {
4
+ return any % 4 == 0 && (any % 100 != 0 || any % 400 == 0);
5
+ }
6
+
7
+ public static boolean esDataValida(int d, int m, int a) {
8
+ if (d < 1 || d > 31 || m < 1 || m > 12)
9
+ return false;
10
+ if ((m == 4 || m == 6 || m == 9 || m == 11) && d > 30)
11
+ return false;
12
+ if (m != 2)
13
+ return true;
14
+ return d < 29 || (d == 29 && esAnyDeTraspas(a));
15
+ }
16
+
17
+ }
@@ -0,0 +1,13 @@
1
+
2
+ def es_any_de_traspas(any):
3
+ return any % 4 == 0 and (any % 100 != 0 or any % 400 == 0)
4
+
5
+
6
+ def es_data_valida(d, m, a):
7
+ if d < 1 or d > 31 or m < 1 or m > 12:
8
+ return False
9
+ if (m == 4 or m == 6 or m == 9 or m == 11) and d > 30:
10
+ return False
11
+ if m != 2:
12
+ return True
13
+ return d < 29 or (d == 29 and es_any_de_traspas(a))
@@ -0,0 +1,3 @@
1
+ handler: std
2
+ source_modifier: no_main
3
+ func_name: is_valid_date
@@ -0,0 +1,13 @@
1
+ #include <stdio.h>
2
+
3
+ int is_valid_date(int d, int m, int a);
4
+
5
+ int main()
6
+ {
7
+ int d, m, a;
8
+ while (scanf("%d %d %d", &d, &m, &a) > 0)
9
+ {
10
+ printf("%s\n", is_valid_date(d, m, a) ? "true" : "false");
11
+ }
12
+ return 0;
13
+ }
@@ -0,0 +1,14 @@
1
+ #include <iostream>
2
+ using namespace std;
3
+
4
+ bool is_valid_date(int d, int m, int a);
5
+
6
+ int main()
7
+ {
8
+ int d, m, a;
9
+ while (cin >> d >> m >> a)
10
+ {
11
+ cout << (is_valid_date(d, m, a) ? "true" : "false") << endl;
12
+ }
13
+ return 0;
14
+ }
@@ -0,0 +1,16 @@
1
+ import java.util.Scanner;
2
+
3
+ class Main {
4
+
5
+ public static void main(String[] args) {
6
+ final Scanner sc = new Scanner(System.in);
7
+ while (sc.hasNextInt()) {
8
+ int d = sc.nextInt();
9
+ int m = sc.nextInt();
10
+ int a = sc.nextInt();
11
+ System.out.println(Solution.isValidDate(d, m, a) ? "true" : "false");
12
+ }
13
+
14
+ }
15
+
16
+ }
@@ -0,0 +1,7 @@
1
+ from yogi import *
2
+
3
+
4
+ for d in tokens(int):
5
+ m = read(int)
6
+ a = read(int)
7
+ print("true" if is_valid_date(d, m, a) else "false")
@@ -0,0 +1,46 @@
1
+
2
+ \Problem{Valid dates}
3
+
4
+ \Statement
5
+
6
+ Write a function that tells if the date defined by
7
+ a day @d@, month @m@ and year @y@ is valid or not.
8
+
9
+ \Interface
10
+ \begin{tabular}{rl}
11
+ \CPP &
12
+ \begin{lstlisting}[language=C++,morekeywords={string}]
13
+ bool is_valid_date(int d, int m, int y);
14
+ \end{lstlisting}
15
+ \\
16
+ C &
17
+ \begin{lstlisting}[language=C]
18
+ int is_valid_date(int d, int m, int y);
19
+ \end{lstlisting}
20
+ \\
21
+ Java &
22
+ \begin{lstlisting}[language=Java,morekeywords={String}]
23
+ public static boolean isValidDate(int d, int m, int y);
24
+ \end{lstlisting}
25
+ \\
26
+ Python &
27
+ \begin{lstlisting}[language=Python]
28
+ is_valid_date(d, m, y) # returns bool
29
+ \end{lstlisting}
30
+ \\
31
+ &
32
+ \begin{lstlisting}[language=Python]
33
+ is_valid_date(d: int, m: int, y: int) -> bool
34
+ \end{lstlisting}
35
+ \end{tabular}
36
+
37
+ \medskip
38
+
39
+ To write this function,
40
+ it is convinient to use the function for leap years
41
+ of the exercise~\Link{problem://problems\@jutge.org:problems/p1/jpetit/traspas-funcio.pbm}.
42
+
43
+ \Precondition
44
+ The parameter @y@ is between 1800 and 9999, both included.
45
+
46
+ \ObservationNoMain
@@ -0,0 +1,4 @@
1
+ translator: Salvador Roura
2
+ title: Valid dates
3
+ translator_email: roura@lsi.upc.edu
4
+ original_language: ca