rbx.cp 0.7.0__py3-none-any.whl → 0.8.0__py3-none-any.whl

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 (45) hide show
  1. rbx/box/cli.py +79 -31
  2. rbx/box/code.py +131 -82
  3. rbx/box/global_package.py +74 -0
  4. rbx/box/package.py +6 -19
  5. rbx/box/remote.py +19 -0
  6. rbx/box/sanitizers/warning_stack.py +3 -3
  7. rbx/box/solutions.py +13 -7
  8. rbx/box/stats.py +10 -0
  9. rbx/box/stresses.py +45 -64
  10. rbx/box/stressing/finder_parser.py +11 -16
  11. rbx/box/tasks.py +33 -22
  12. rbx/box/tooling/boca/scraper.py +1 -1
  13. rbx/grading/caching.py +98 -47
  14. rbx/grading/debug_context.py +31 -0
  15. rbx/grading/grading_context.py +96 -0
  16. rbx/grading/judge/cacher.py +93 -21
  17. rbx/grading/judge/sandbox.py +6 -3
  18. rbx/grading/judge/sandboxes/timeit.py +1 -1
  19. rbx/grading/judge/storage.py +169 -35
  20. rbx/grading/profiling.py +126 -0
  21. rbx/grading/steps.py +44 -16
  22. rbx/grading/steps_with_caching.py +52 -26
  23. rbx/resources/presets/default/contest/.gitignore +2 -0
  24. rbx/resources/presets/default/contest/contest.rbx.yml +14 -1
  25. rbx/resources/presets/default/contest/statement/contest.rbx.tex +25 -86
  26. rbx/resources/presets/default/contest/statement/icpc.sty +322 -0
  27. rbx/resources/presets/default/contest/statement/instructions.tex +40 -0
  28. rbx/resources/presets/default/contest/statement/logo.png +0 -0
  29. rbx/resources/presets/default/contest/statement/template.rbx.tex +45 -36
  30. rbx/resources/presets/default/preset.rbx.yml +2 -2
  31. rbx/resources/presets/default/problem/problem.rbx.yml +12 -8
  32. rbx/resources/presets/default/problem/statement/icpc.sty +322 -0
  33. rbx/resources/presets/default/problem/statement/template.rbx.tex +47 -79
  34. {rbx_cp-0.7.0.dist-info → rbx_cp-0.8.0.dist-info}/METADATA +3 -1
  35. {rbx_cp-0.7.0.dist-info → rbx_cp-0.8.0.dist-info}/RECORD +43 -36
  36. rbx/resources/presets/default/contest/statement/olymp.sty +0 -250
  37. rbx/resources/presets/default/problem/statement/olymp.sty +0 -250
  38. /rbx/resources/presets/default/problem/{gen.cpp → gens/gen.cpp} +0 -0
  39. /rbx/resources/presets/default/problem/{tests → manual_tests}/samples/000.in +0 -0
  40. /rbx/resources/presets/default/problem/{tests → manual_tests}/samples/001.in +0 -0
  41. /rbx/resources/presets/default/problem/{random.py → testplan/random.py} +0 -0
  42. /rbx/resources/presets/default/problem/{random.txt → testplan/random.txt} +0 -0
  43. {rbx_cp-0.7.0.dist-info → rbx_cp-0.8.0.dist-info}/LICENSE +0 -0
  44. {rbx_cp-0.7.0.dist-info → rbx_cp-0.8.0.dist-info}/WHEEL +0 -0
  45. {rbx_cp-0.7.0.dist-info → rbx_cp-0.8.0.dist-info}/entry_points.txt +0 -0
@@ -5,8 +5,8 @@ rbx/box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  rbx/box/builder.py,sha256=MDm2qqmhedAbhn3rWP6cDwbBsGhV6sz_2sg1zLkPDw0,3613
6
6
  rbx/box/cd.py,sha256=bPiSLMDNFtfOSYaQ9TBGm-Cl8SKajqDZMr98uXMvKA8,2699
7
7
  rbx/box/checkers.py,sha256=2eLfMOzJajoca26M4rOBxUxve3-BpxcMu_q2upI1Pcg,13017
8
- rbx/box/cli.py,sha256=d6N_CvipfTGDyjLANkwpbvJRk9WmQTA9nnbT9GrWTPo,27724
9
- rbx/box/code.py,sha256=9Eba-LlvmMkfyiNAFOk2V2rRXKQvQYWyC_d0q195pZw,24445
8
+ rbx/box/cli.py,sha256=C1qPC6CYkAO7fc8OOlkfykZQgyfRAM4IBu3lHIV0slc,29417
9
+ rbx/box/code.py,sha256=QZM6_jkiij0WZXk6MX_tD3DI2xmOzmUbfDwR1uXOr0o,26696
10
10
  rbx/box/compile.py,sha256=Kzn5mEQu4vb91W9vjyt0DS6cfPJzFLTUoowFj7uHLUo,2539
11
11
  rbx/box/conftest.py,sha256=sEmciXSeDC-wmrZ1JSxbsUenKNP_VWW32mrCun2pY3I,1070
12
12
  rbx/box/contest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -27,6 +27,7 @@ rbx/box/formatting.py,sha256=drxGLRS-uh_5j0GTmk8kAq0NlWpM5WoSBJoDHh9KXNI,1222
27
27
  rbx/box/generators.py,sha256=0HiNZfZXvEpXLHP1D0cJp-fgSujOm4jPDdniWyy8HrI,13824
28
28
  rbx/box/generators_test.py,sha256=J7aBfuJhU84MWDWzgReRoOuQw_hVa09B8gTKAvL2XVo,1987
29
29
  rbx/box/git_utils.py,sha256=VlUgzuHOCnrjjiJQnDB32qDHbHw_zkwgA7wm4bloibc,750
30
+ rbx/box/global_package.py,sha256=OMnvqY8VQlP9YVSZwH5LCVkTsE7zNIhhRcslIWktkQc,2016
30
31
  rbx/box/header.py,sha256=ifErXcIxG5lM5AyRiHDr7JE401vR4ORNXCNpHXxN_ls,2001
31
32
  rbx/box/lang.py,sha256=GaWvf4rgukflIZ9ti4MUKSJcz9wm2mIVuFcrO-pA8L8,669
32
33
  rbx/box/lazy_importing_main.py,sha256=6Z8As7qVFFT619xHH9Xt8VCH57NjC4aDxfAgkWiUwT8,116
@@ -34,7 +35,7 @@ rbx/box/lazy_importing_test.py,sha256=B0-b3y_DkxEmtVfu4NfmVsgVdFl6kRCsEL6GLMHJIS
34
35
  rbx/box/linting.py,sha256=XdIgn8uRmPt06mLaP9ROnn6P1aSRdery6FkiLazLDM8,3181
35
36
  rbx/box/main.py,sha256=a8CYi77kOywPFly4-ucEIJLXQW-1NFp91kK2fA42YTE,86
36
37
  rbx/box/naming.py,sha256=pOG37X_wQM9CCSYwJIUf-b-ZHEs_nchO7wQEdP_quJg,1367
37
- rbx/box/package.py,sha256=ZywWmXjQo-A14fMOhOCzAO5IjFX9x-TBs8PusAv8iWE,13771
38
+ rbx/box/package.py,sha256=fxguACsau6zlP7O77cfwJG_tyopKFvezQTapFc0W43M,13529
38
39
  rbx/box/packaging/boca/extension.py,sha256=EQALNEOv4zVDXSKs_dk11n92y7cBZVn8TogIK683lE0,890
39
40
  rbx/box/packaging/boca/packager.py,sha256=MEVXTGtMWxcXetvXZ4td-AtOUTM68WeRqy5yt-7Lg28,13675
40
41
  rbx/box/packaging/contest_main.py,sha256=7YQWmzl1rOdO7cWFc_D6zhywIE12lKJY1O6hnrxkOLs,3168
@@ -51,12 +52,12 @@ rbx/box/presets/__init__.py,sha256=9BLun8zOwbn6T9eyNtIMONL3Ty5j77UUPzenB2-JOpY,2
51
52
  rbx/box/presets/fetch.py,sha256=900aq9S8e12TlgSenG0iHgtF4OWgqavZsptgI_a1YKM,2508
52
53
  rbx/box/presets/lock_schema.py,sha256=Ohxs5J_B5_Dr8ZajptGqKzRzIjQS2ehDHbCOSy07PyY,309
53
54
  rbx/box/presets/schema.py,sha256=KhAZjA5VU7dBEvGc22jBWO8JHKkQ-sbPz6EcJK8Rgfg,2299
54
- rbx/box/remote.py,sha256=2xN0XSWoRyDY0-FNKejK0x8iKhRuVsluIMKKb-gD7bI,4572
55
+ rbx/box/remote.py,sha256=TgPYKaoOYESyHUjUCvuNkeJyloKtWcZPzjgh-_wN05o,5182
55
56
  rbx/box/retries.py,sha256=2K2AiFdtTaVsbzSgupbP4xr4QQ7LFeGBOcyXLinVf0I,4950
56
- rbx/box/sanitizers/warning_stack.py,sha256=RI97_GJgdjTKIXY_r0EKp5h0qQQSDSdNDh5K7zINrqs,2861
57
+ rbx/box/sanitizers/warning_stack.py,sha256=Tzz0vYT6YrQfG5K6pgeGbIlQWwFTaNdi6YXGRlwTkTc,2864
57
58
  rbx/box/schema.py,sha256=424VcpZzY2qUz8rlETwIqrzzwmnoARILEO7Wf2P61BY,18855
58
59
  rbx/box/setter_config.py,sha256=9iObg6BwxQhFAhIOk31Jc0BDDpRYVGf3SyLIOsWIltM,4393
59
- rbx/box/solutions.py,sha256=g2jgDtSCqvlG-WiiJpTibLDljil2tRCKNelGS8qTrXQ,53357
60
+ rbx/box/solutions.py,sha256=oD9LS34zoG9SDrWytukWaDdSjOsfBEg-atMsNmFwBWg,53583
60
61
  rbx/box/solutions_test.py,sha256=PX1TQoRzNd9mi1SGsG7WFrpqFgNrNX5Kwt0mkwFdoOA,1749
61
62
  rbx/box/state.py,sha256=MMf3DvfQji0jKEliCHct2Tpp_0epL1tvP8HbHNArQIc,166
62
63
  rbx/box/statements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -67,12 +68,12 @@ rbx/box/statements/joiners.py,sha256=jItNXkAbTjFQpPMgfDMW86n3vMTbaE8sgo9I8Yf4Txg
67
68
  rbx/box/statements/latex.py,sha256=LkcHwXjMFxbw--Gj9T1VkFKQFsXhY9dN7xZHpZycNW8,1346
68
69
  rbx/box/statements/latex_jinja.py,sha256=6whLCIHzPjq7oeDwzUgdvirpLA4Y3G-w319DhzPwPUI,8960
69
70
  rbx/box/statements/schema.py,sha256=QIUkQhrLb3rqAdvzDSwL3r4uAvDv-mKsWRtfCEH2L7Y,4685
70
- rbx/box/stats.py,sha256=hXp4xF0_dI5TuU7unxAM5q0cVE9e1phmFbBS0PRQUbA,2999
71
- rbx/box/stresses.py,sha256=SOfYhJxge3ykuLlBMALM0IAmpZuOZFS9EP8Jmn6yHiw,12923
71
+ rbx/box/stats.py,sha256=rUAnmp7kTgUvIQ56NLpQaIQkazB37MVcUos5en3xUQw,3258
72
+ rbx/box/stresses.py,sha256=ElXC1SCa4sfn3Wl2A6WxWjv9Cup5aPlUi4pRO_DSY_A,12061
72
73
  rbx/box/stressing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- rbx/box/stressing/finder_parser.py,sha256=jXpYNa4FyugzmHi3r96Uv4rU1krRQJc5Ihr9jf1cvNo,11918
74
+ rbx/box/stressing/finder_parser.py,sha256=PnONJD2yun5X5EmHqkaz-rh3DHhn_BkTPHZrIXRKZbw,11898
74
75
  rbx/box/stressing/generator_parser.py,sha256=oHZryjR3YohgaSO9WEirQ7b2e-98WgZStF0N99W4Thw,7380
75
- rbx/box/tasks.py,sha256=JygSpQzHxH71JwBJCl_JEbAfVMVz34lKjj5bhqQFqaM,10649
76
+ rbx/box/tasks.py,sha256=VpmQcOEPvcnQ8fh4nrZGnkGDIoJOHZzHoa9x_HNG1P0,11239
76
77
  rbx/box/testcase_extractors.py,sha256=J43eG7vpxc5nP_2yhrXJODkd4EYlV4WiYVbM6hzipY4,11944
77
78
  rbx/box/testcase_utils.py,sha256=epal6TFd2PK3dbEvTTr9tCebfmbF-rQD0d3xW8umriA,6860
78
79
  rbx/box/testcases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -81,7 +82,7 @@ rbx/box/tooling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
82
  rbx/box/tooling/boca/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
83
  rbx/box/tooling/boca/main.py,sha256=knl1rpaHIwA63KkzMJMZQrejzMpbTPBhYqGx1IpuNm4,289
83
84
  rbx/box/tooling/boca/scrape.py,sha256=q1BoVstfLbw5CwB9e2hQnseBv6HQMnXq2z_tk18ui6M,1024
84
- rbx/box/tooling/boca/scraper.py,sha256=ISz8kfEN6srnjJHPdG87wOJgNstEcqrkXF-4PFE8UDg,12686
85
+ rbx/box/tooling/boca/scraper.py,sha256=BVs3GRS7VRY1I6YzfPDc0Se0cSB_OUB61bvkJxFhUc8,12682
85
86
  rbx/box/tooling/main.py,sha256=4nVXUprVUFcqtHU5SMSsOvPlOV9d0fZFPndRUvHrB5I,205
86
87
  rbx/box/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
88
  rbx/box/ui/captured_log.py,sha256=HPoV6LZohuECmjoqOdM_xFZbpICzQnI4n3rF-lf_b1Q,11634
@@ -118,23 +119,26 @@ rbx/console.py,sha256=X8EJy68OROgh6ao3ZcUjZm5Y56VFMzen58ywAuQ7pAU,990
118
119
  rbx/create.py,sha256=ezUq9KiSA-88ASd8CtjWXw8UB4LCaQ3Gib3OgvsLK-Q,986
119
120
  rbx/edit.py,sha256=Zqnx_Pt06ijCxV-pZKGCJhjKB-nVO0QCM6xSBwPWGoE,798
120
121
  rbx/grading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
- rbx/grading/caching.py,sha256=tUDkhCaH8vA82_Iv-LRBhFjUQY13YWOSKG_3B2DhXpA,12573
122
+ rbx/grading/caching.py,sha256=T86-Q5-VVhXSSF0wC6JoH1kRFKL03l0l_Qf0unWaTE0,14611
122
123
  rbx/grading/conftest.py,sha256=iN9LUG1IQqhK5JjkctcP68v6675oYsiD2sQSgyLMTqw,960
124
+ rbx/grading/debug_context.py,sha256=kuAXEI8yRG8xfhS9WKKIRh9X0e5JUD8zvl_cpczJTC8,699
125
+ rbx/grading/grading_context.py,sha256=VRGlGSyyNQfEuV_E0f5-P7NKb6nCzjplNFmFRBmvWwE,2665
123
126
  rbx/grading/judge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
- rbx/grading/judge/cacher.py,sha256=TDgYDhehnJIv64EFiXxPAtVADD8q9WcJa_BE9TsE-JM,17669
127
+ rbx/grading/judge/cacher.py,sha256=wtRnVE_Es9xcqIgrhn6WzUoB90aihUuKaFyuVsusngg,20323
125
128
  rbx/grading/judge/digester.py,sha256=gtOIe_iL4PEWA7OKelW1gjSI-nBvbOpDPJGV8VQyjSg,912
126
- rbx/grading/judge/sandbox.py,sha256=EuBPWPuaRq6ikPd4G2V8fMJLJFkx7mdnNRSuql8loNE,26172
129
+ rbx/grading/judge/sandbox.py,sha256=fpwpv5CXrBzBZS7A9FmuOdgxH5_MsFNJh8ID872GAts,26249
127
130
  rbx/grading/judge/sandboxes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
131
  rbx/grading/judge/sandboxes/isolate.py,sha256=L-h2_GZfFGYQEsGjd-lyzqzpsl6_ytJZ5myVyQCxerk,25961
129
132
  rbx/grading/judge/sandboxes/stupid_sandbox.py,sha256=PSPQUBSSsP2OfEBbcLjx4m2rUlSxLZ-hKyMYP8zJWhI,11310
130
- rbx/grading/judge/sandboxes/timeit.py,sha256=RTfkL5eyjs0ci2c7r9szza7guexKcNWoPjrEFBzkR_4,11359
131
- rbx/grading/judge/storage.py,sha256=3vv0HvtenbUZBH33CB5ZzX66ppL22G6munBaAA9BgwQ,9418
133
+ rbx/grading/judge/sandboxes/timeit.py,sha256=V4Nu7YAU85jJp2_MtUbh4g8Fx5Wf3hax-4_UTNCorEs,11355
134
+ rbx/grading/judge/storage.py,sha256=84id8qvmeDDEVmDnxqqM_jbiRrxG4cp_n7U_sak3cH8,14346
132
135
  rbx/grading/judge/test.py,sha256=ll0Iw7zyOpGdKPD_PGH7dvUkb4stQLu-ikbQnqJvuAc,944
133
136
  rbx/grading/judge/testiso.py,sha256=v14DtkWiZFJ9AKMzrb0_vZKPWDt8jz8iIw1Z2O-Advk,1397
134
137
  rbx/grading/limits.py,sha256=ev312UTOo8S4-3AAVibQdXZclWCxS96CdbZxqW4y1kE,770
135
138
  rbx/grading/processing_context.py,sha256=Jg9kNnkH3hi2hiE6Gh23QwS89r9Zj230NMl1CUEHSfo,1866
136
- rbx/grading/steps.py,sha256=pL1eoUYOR09jn5MHUsHFU2xTnwrTBo_2K4UPkcy60Oo,29021
137
- rbx/grading/steps_with_caching.py,sha256=nez2YwgauGXKRjhk6tQxTDGQ-HEk7KfZOeAPhsxi5iw,3150
139
+ rbx/grading/profiling.py,sha256=OEdtoAzjYjLfi-QI5Ke7tLZzJeqvGpMB2utQBNuH3E4,3369
140
+ rbx/grading/steps.py,sha256=9EopMcRwviSlnXOWJgy-e_ZTU8j3PGEzJ10VYYVF2i4,30120
141
+ rbx/grading/steps_with_caching.py,sha256=b6NVZN46IG2r49uQ6u19Jj6AJ_nQFO6_pcKq4dWTwuQ,4579
138
142
  rbx/grading/steps_with_caching_run_test.py,sha256=mh4DRInrOGhnQFWD1SlcjDm_HvcSDFTDMSpAlG-Q5SI,15570
139
143
  rbx/grading_utils.py,sha256=lL2KtSkOsMElqrRoApQTbFcqVOeHVWUDTMCa3IsLpC4,4484
140
144
  rbx/hydration.py,sha256=WqbgIfCZNwqspVhMuUlx8-sNOYhq_ZWbeZnkcetuAZI,3669
@@ -196,25 +200,28 @@ rbx/resources/packagers/moj/scripts/py2/run.sh,sha256=qshf-K3mKP4c7b45S3D82Wj0Ai
196
200
  rbx/resources/packagers/moj/scripts/py3/compile.sh,sha256=XPn8qDR_gPAAZD9h5lVEMdBkrSogRZvpT4MAaNNp9nk,96
197
201
  rbx/resources/packagers/moj/scripts/py3/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
198
202
  rbx/resources/packagers/moj/scripts/py3/run.sh,sha256=LrMi7Tap9no8gh64QNGUXbWauP6ZpSl-wEwXZ2qhPo0,197
199
- rbx/resources/presets/default/contest/contest.rbx.yml,sha256=nN6FTb9xTISR2Lxv6AoCegEStgmwsfPo5KaFiBlJgWU,535
200
- rbx/resources/presets/default/contest/statement/contest.rbx.tex,sha256=3YDQo5c-SGbwXcd4uytyY_Mc7UriAditgdJnbN8UdHg,3062
201
- rbx/resources/presets/default/contest/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
202
- rbx/resources/presets/default/contest/statement/template.rbx.tex,sha256=XSGtd8JJKfOmU7yTWcC02x6NND9GUlj9uXOEJC168Lg,834
203
- rbx/resources/presets/default/preset.rbx.yml,sha256=zepC-H2d7c3EZ3pP_agafpinxgCQ53U_JF7X3-WuGak,411
203
+ rbx/resources/presets/default/contest/.gitignore,sha256=M_5KUTjhLs68X2QFJ_ZBJgW9zCiGAWVrwPQ6a3Vq3qo,13
204
+ rbx/resources/presets/default/contest/contest.rbx.yml,sha256=RLjgB1YL28iV0-pNgDFhkug-PNjibh_YHGZ7dsUMR6U,821
205
+ rbx/resources/presets/default/contest/statement/contest.rbx.tex,sha256=MrZfADhSEhiFu7b_Kyc-HMm7RWRsEfUQo2egC1SI2BA,794
206
+ rbx/resources/presets/default/contest/statement/icpc.sty,sha256=YIZfUV1-HOyW6qj5_2XEx06_vsDtm1lNkuVFUGAxoUg,7114
207
+ rbx/resources/presets/default/contest/statement/instructions.tex,sha256=JG_eR13ukZgEahrrmrbg40H8cUzpoUE8QLocihN-fZ8,2414
208
+ rbx/resources/presets/default/contest/statement/logo.png,sha256=RLNYmZoc-BR6AZKkmr4UEg3h01YeFzvy604jMAQC7aA,414485
209
+ rbx/resources/presets/default/contest/statement/template.rbx.tex,sha256=53AU4dxrEzFr5toEwY3LH0PJ13hof6Z7RV2sb395UGw,1267
210
+ rbx/resources/presets/default/preset.rbx.yml,sha256=3ZRL4YSwDF9dWkdQx4v73Mwk1h70DwhfZ9IFLj1s7yI,409
204
211
  rbx/resources/presets/default/problem/.gitignore,sha256=zc-lnGQQZsLBaXpSshesA_QfxhiZdNCSJDEuKqlPtjw,29
205
- rbx/resources/presets/default/problem/gen.cpp,sha256=rn6sGRjZ1sFE1Rq02r6488iquY9xTrutcvLv4d1sohA,178
206
- rbx/resources/presets/default/problem/problem.rbx.yml,sha256=-tmGCLQD1TLtezoUjbRxJQzz5CtfRtvJEjEG2EYKEls,1689
207
- rbx/resources/presets/default/problem/random.py,sha256=-iPorU24QHfp39EYRJX9jMKcTIxxz5ejKoAzPLIuu1g,98
208
- rbx/resources/presets/default/problem/random.txt,sha256=2BA_AM8IAKEcrUTJhnzWnNJN8whDN82E2137NhFkt2U,137
212
+ rbx/resources/presets/default/problem/gens/gen.cpp,sha256=rn6sGRjZ1sFE1Rq02r6488iquY9xTrutcvLv4d1sohA,178
213
+ rbx/resources/presets/default/problem/manual_tests/samples/000.in,sha256=w66OEtCJGqjUNj8cJrqgImgGVm8W_OlIUtF255ds-ow,4
214
+ rbx/resources/presets/default/problem/manual_tests/samples/001.in,sha256=P4QInDX87xXoDWu4PVIzUeNW5LtTlUKbMCvJ9uZOPGw,20
215
+ rbx/resources/presets/default/problem/problem.rbx.yml,sha256=QmwUTgfLjBt3pVIsEtrDTv7cpO-4QIH0m5Y-3xvr6B8,1808
209
216
  rbx/resources/presets/default/problem/rbx.h,sha256=LBkbC3gbDPW2Fdm1p99hNhF7oKpZLLSY7dE4zpepp5w,2161
210
217
  rbx/resources/presets/default/problem/sols/main.cpp,sha256=AW-j65DiFYUN18rddTKCWc_VyYCMgCbjZ0jAJ-0JLuA,124
211
218
  rbx/resources/presets/default/problem/sols/slow.cpp,sha256=at9iXQjROaxG5f6OWH__phENb2SOK3crRfU7AwYT6hM,229
212
219
  rbx/resources/presets/default/problem/sols/wa.cpp,sha256=Bj7tejPIlXG_JqUHWY1zi9TDbHdRZzgT_JDbCLRdhbQ,136
213
- rbx/resources/presets/default/problem/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
220
+ rbx/resources/presets/default/problem/statement/icpc.sty,sha256=YIZfUV1-HOyW6qj5_2XEx06_vsDtm1lNkuVFUGAxoUg,7114
214
221
  rbx/resources/presets/default/problem/statement/statement.rbx.tex,sha256=JHdiMN3NQQsysDA1w3RfOGmDFobCc68YCB6SURy2hHo,360
215
- rbx/resources/presets/default/problem/statement/template.rbx.tex,sha256=BNvHDWGY1BU4tHUHtuIYBhdoOqp3fXO5qNr84ekOsgY,1693
216
- rbx/resources/presets/default/problem/tests/samples/000.in,sha256=w66OEtCJGqjUNj8cJrqgImgGVm8W_OlIUtF255ds-ow,4
217
- rbx/resources/presets/default/problem/tests/samples/001.in,sha256=P4QInDX87xXoDWu4PVIzUeNW5LtTlUKbMCvJ9uZOPGw,20
222
+ rbx/resources/presets/default/problem/statement/template.rbx.tex,sha256=p7fb3pNh9l-0gSXrsjuJ_4c11X2CFPp_Ef6sYtr7bc0,1285
223
+ rbx/resources/presets/default/problem/testplan/random.py,sha256=-iPorU24QHfp39EYRJX9jMKcTIxxz5ejKoAzPLIuu1g,98
224
+ rbx/resources/presets/default/problem/testplan/random.txt,sha256=2BA_AM8IAKEcrUTJhnzWnNJN8whDN82E2137NhFkt2U,137
218
225
  rbx/resources/presets/default/problem/validator.cpp,sha256=w4gl1u30Dx1N9oRTVtIg_rPlIyL6QdN_Bi5FDpp4gyw,317
219
226
  rbx/resources/presets/default/problem/wcmp.cpp,sha256=gbjJe3Vf9-YzHCEqBUq30aI3jMZXhqBDn3jjecYOn-w,902
220
227
  rbx/resources/templates/rbx.h,sha256=Iwtmr2gdDYmZ2VlIurmleBb_uEpriWd4EX0dJta8xUA,2179
@@ -230,8 +237,8 @@ rbx/testcase.py,sha256=yKOq3CAJZ1YTmInvnoIs0u1iJnRj_X85XiWbLI-p9d8,1951
230
237
  rbx/testcase_rendering.py,sha256=nfmv6dSEqd4aR3TsaODwkKGK6AXty_DDKtWf_ejiQpI,2084
231
238
  rbx/testing_utils.py,sha256=x_PqD8Zd2PkN91NxVHUnSTs044-1WK5KKtttKQBXpFs,2083
232
239
  rbx/utils.py,sha256=SfR844_i0ebRDMkmS_w1YdZiWPc6h2RGADygewlWRbA,4845
233
- rbx_cp-0.7.0.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
234
- rbx_cp-0.7.0.dist-info/METADATA,sha256=cJPXcUWJPFAQ-Bo1Ijc8YJqpvo-aJcBsodttyutj-2g,4456
235
- rbx_cp-0.7.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
236
- rbx_cp-0.7.0.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
237
- rbx_cp-0.7.0.dist-info/RECORD,,
240
+ rbx_cp-0.8.0.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
241
+ rbx_cp-0.8.0.dist-info/METADATA,sha256=T5IONKIApyUj3SlNy3px7IMBDLf0jsrc94FH4r6u8q4,4536
242
+ rbx_cp-0.8.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
243
+ rbx_cp-0.8.0.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
244
+ rbx_cp-0.8.0.dist-info/RECORD,,
@@ -1,250 +0,0 @@
1
- % Copyright (c) 2005-2013 Olymp.sty Developers Group.
2
- % See https://github.com/GassaFM/olymp.sty/blob/master/AUTHORS
3
- % for the complete list of authors.
4
-
5
- %\ProvidesPackage{olymp}
6
- \usepackage{verbatim}
7
- \usepackage{xstring}
8
-
9
- % \makeatletter
10
- % \newcommand\FirstWord[1]{\@firstword#1 \@nil}%
11
- % \def\@firstword#1 #2\@nil{\@removecomma#1,\@nil}%
12
- % \def\@removecomma#1,#2\@nil{\@removeperiod#1.\@nil}
13
- % \def\@removeperiod#1.#2\@nil{\@removesemicolon#1;\@nil}
14
- % \def\@removesemicolon#1;#2\@nil{#1}
15
- % \makeatother
16
- \newcommand\FirstWord[1]{#1}
17
-
18
- \ProcessOptions\relax
19
-
20
- \setlength{\parindent}{0pt}
21
- \setlength{\parskip}{0.8em}
22
-
23
- % contest keywords definitions
24
- \def\conProblemTutorial{Problem Tutorial}
25
- \def\conProblem{Problem}
26
- \def\conProblemAuthor{Author:}
27
- \def\conProblemDeveloper{Developer:}
28
- \def\conProblemOrigin{Origin:}
29
- \def\conInputFileName{Input file:}
30
- \def\conOutputFileName{Output file:}
31
- \def\conTimeLimit{Time limit:}
32
- \def\conMemoryLimit{Memory limit:}
33
- \def\conFeedback{Feedback:}
34
- \def\constdin{standard input}
35
- \def\constdout{standard output}
36
- \def\conSpecification{Specification}
37
- \def\conInteraction{Interaction Protocol}
38
- \def\conInput{Input}
39
- \def\conOutput{Output}
40
- \def\conExample{Example}
41
- \def\conExamples{Examples}
42
- \def\conExampleNotes{Notes}
43
- \def\conExplanation{Explanation}
44
- \def\conExplanations{Explanations}
45
- \def\conIllustration{Illustration}
46
- \def\conScoring{Scoring}
47
- \def\conNote{Note}
48
- \def\conNotes{Notes}
49
- \def\conConstraints{Constraints}
50
- \def\conversion{version}
51
- \def\conrevision{revision}
52
- \def\conSubtaskOne{Subtask 1}
53
- \def\conSubtaskTwo{Subtask 2}
54
- \def\conSubtaskThree{Subtask 3}
55
- \def\conSubtaskFour{Subtask 4}
56
- \def\conSubtaskFive{Subtask 5}
57
- \def\conSubtaskSix{Subtask 6}
58
- \def\conSubtask{Subtask}
59
- \def\conpoints{points}
60
- \def\conPage{Page}
61
- \def\conof{of}
62
- \def\connotstated{not stated}
63
- \def\conIntentionallyBlankPage{This page is intentionally left blank}
64
- \def\conTimeSuffix{s}
65
- \def\conMemorySufix{mb}
66
-
67
- % fancyhdr
68
-
69
- % font
70
-
71
- \newcommand{\afterfrontpage}{
72
- \vspace*{\fill}
73
- \begin{center}
74
- \problemheadfont\conIntentionallyBlankPage
75
- \end{center}
76
- \vspace*{\fill}
77
- \clearpage
78
- }
79
- \newcommand{\problemheadfont}{\LARGE}
80
- \newcommand{\problemsectionfont}{\Large}
81
- \newcommand{\problemtextfont}{\normalsize}
82
- \newcommand{\beforeproblemsectioncaption}{\smallbreak\smallskip}
83
- \newcommand{\afterproblemsectioncaption}{\smallskip}
84
- \newcommand{\problemend}{
85
- \clearpage
86
- \ifintentionallyblankpages
87
- \ifodd\value{page}
88
- \else
89
- \afterfrontpage
90
- \fi
91
- \fi
92
- }
93
- \def\presectionspacing{\hspace{3mm}}
94
-
95
- % section commands from olymp
96
-
97
- \newcommand{\createsection}{\@newsection}
98
-
99
- \def\@newsection#1#2{\DeclareRobustCommand{#1}{
100
- {\beforeproblemsectioncaption\bf\problemsectionfont\presectionspacing{#2}}
101
- \nopagebreak\par\afterproblemsectioncaption}
102
- }
103
-
104
- \newcommand{\createsectionpar}{\@newsectionpar}
105
-
106
- \def\@newsectionpar#1#2{\DeclareRobustCommand{#1}[1]{
107
- {\beforeproblemsectioncaption\bf\problemsectionfont{#2~##1}}
108
- \nopagebreak\par\afterproblemsectioncaption}
109
- }
110
-
111
- \newcommand{\createsectionpartwo}{\@newsectionpartwo}
112
-
113
- \def\@newsectionpartwo#1#2#3{\DeclareRobustCommand{#1}[2]{
114
- {\beforeproblemsectioncaption\problemsectionfont{\textbf{#2}~\textbf{##1}~(##2~#3)}}
115
- \nopagebreak\par\afterproblemsectioncaption}
116
- }
117
-
118
- \createsection{\Instructions}{\conInstructions}
119
- \createsection{\Specification}{\conSpecification}
120
- \createsection{\Interaction}{\conInteraction}
121
- \createsection{\InputFile}{\conInput}
122
- \createsection{\OutputFile}{\conOutput}
123
- \createsection{\Example}{\conExample}
124
- \createsection{\Examples}{\conExamples}
125
- \createsection{\Explanation}{\conExplanation}
126
- \createsection{\Explanations}{\conExplanations}
127
- \createsection{\Illustration}{\conIllustration}
128
- \createsection{\Scoring}{\conScoring}
129
- \createsection{\Note}{\conNote}
130
- \createsection{\Notes}{\conNotes}
131
- \createsection{\Constraints}{\conConstraints}
132
- \createsection{\SubtaskOne}{\conSubtaskOne}
133
- \createsection{\SubtaskTwo}{\conSubtaskTwo}
134
- \createsection{\SubtaskThree}{\conSubtaskThree}
135
- \createsection{\SubtaskFour}{\conSubtaskFour}
136
- \createsection{\SubtaskFive}{\conSubtaskFive}
137
- \createsection{\SubtaskSix}{\conSubtaskSix}
138
- \createsectionpar{\Subtask}{\conSubtask}
139
- \createsectionpartwo{\SubtaskWithCost}{\conSubtask}{\conpoints}
140
- \createsection{\Editorial}{\conEditorial}
141
-
142
- % frontpage
143
- \newenvironment{frontpage}[3]{
144
- \thispagestyle{empty}
145
- {\centering
146
- \noindent\rule{18cm}{0.4pt}
147
-
148
- \vspace{1cm}
149
- %\includegraphics[width=0.15\textwidth]{example-image-1x1}\par\vspace{1cm}
150
- {\LARGE #1\par}
151
- %\vspace{1cm}
152
- {\Large #2\par}
153
- \vspace{1cm}}
154
- \def\thisFrontPageDate{#3}
155
- \Instructions
156
- }{
157
- \vspace*{\fill}
158
- \centering{\Large \thisFrontPageDate\par}
159
- \centering\noindent\rule{18cm}{0.4pt}
160
- \newpage
161
- }
162
-
163
- % problem
164
- \newcounter{ProblemCounter}
165
-
166
- \newenvironment{problem}[6][]{
167
-
168
- \def\ProblemLetter{#1}
169
- \stepcounter{ProblemCounter}
170
- \begin{center}
171
- \ifx\ProblemLetter\empty
172
- \else
173
- \problemtextfont\textbf{\conProblem\ \ProblemLetter} \\
174
- \fi
175
- \problemheadfont\textsf{#2} \\
176
- \ifx#5\empty
177
- \else
178
- \problemtextfont{\conTimeLimit\ #5} \\
179
- \fi
180
- \ifx#6\empty
181
- \else
182
- \problemtextfont{\conMemoryLimit\ #6} \\
183
- \fi
184
- %\problemtextfont{\conSourceFileName\ \ProblemLetter\ \conSourceExts} \\
185
- \vspace{0.3cm}
186
- \noindent\rule{16cm}{0.4pt}
187
- \end{center}
188
- \problemtextfont
189
- \newcommand{\InputFileName}{#3}
190
- \newcommand{\OutputFileName}{#4}
191
- }{\problemend}
192
-
193
- % examples
194
- % -- Setup sizes --
195
- \newlength{\thelinewidth}
196
- \newlength{\exmpwidinf}
197
- \newlength{\exmpwidouf}
198
- \newlength{\exmpwidewid}
199
- \newlength{\exmpthreewidinf}
200
- \newlength{\exmpthreewidouf}
201
- \newlength{\exmpthreewidnote}
202
-
203
- \thelinewidth=\textwidth
204
- \exmpwidinf=0.43\thelinewidth
205
- \exmpwidouf=0.43\thelinewidth
206
- \exmpwidewid=0.9\thelinewidth
207
- \exmpthreewidinf=0.28\thelinewidth
208
- \exmpthreewidouf=0.28\thelinewidth
209
- \exmpthreewidnote=0.30\thelinewidth
210
-
211
- \def\s@tm@cr@s{
212
- \def\widthin##1{\exmpwidinf=##1\relax}
213
- \def\widthout##1{\exmpwidouf=##1\relax}
214
- \def\stretchin##1{\advance\exmpwidinf by ##1\relax}
215
- \def\stretchout##1{\advance\exmpwidouf by ##1\relax}
216
- \@ifstar{
217
- \error Star must not be used in example environment any more
218
- }
219
- }
220
-
221
- % This is magic, which delete space after verbatiminput
222
- \addto@hook{\every@verbatim}{\topsep=0pt\relax}
223
-
224
- \newenvironment{example}[1][]{
225
- \s@tm@cr@s#1
226
- \ttfamily\obeyspaces\obeylines\frenchspacing
227
- \newcommand{\exmp}[2]{
228
- \begin{minipage}[t]{\exmpwidinf}\rightskip=0pt plus 1fill\relax##1\medskip\end{minipage}&
229
- \begin{minipage}[t]{\exmpwidouf}\rightskip=0pt plus 1fill\relax##2\medskip\end{minipage}\\
230
- \hline
231
- }
232
-
233
- \newcommand{\exmpfile}[2]{
234
- \exmp{
235
- \verbatiminput{##1}
236
- }{
237
- \verbatiminput{##2}
238
- }%
239
- }
240
-
241
- \begin{center}
242
- \begin{tabular}{|l|l|}
243
- \hline
244
- \multicolumn{1}{|c|}{\bf\texttt{\textbf{\InputFileName}}} &
245
- \multicolumn{1}{|c|}{\bf\texttt{\textbf{\OutputFileName}}} \\
246
- \hline
247
- }{
248
- \end{tabular}
249
- \end{center}
250
- }
@@ -1,250 +0,0 @@
1
- % Copyright (c) 2005-2013 Olymp.sty Developers Group.
2
- % See https://github.com/GassaFM/olymp.sty/blob/master/AUTHORS
3
- % for the complete list of authors.
4
-
5
- %\ProvidesPackage{olymp}
6
- \usepackage{verbatim}
7
- \usepackage{xstring}
8
-
9
- % \makeatletter
10
- % \newcommand\FirstWord[1]{\@firstword#1 \@nil}%
11
- % \def\@firstword#1 #2\@nil{\@removecomma#1,\@nil}%
12
- % \def\@removecomma#1,#2\@nil{\@removeperiod#1.\@nil}
13
- % \def\@removeperiod#1.#2\@nil{\@removesemicolon#1;\@nil}
14
- % \def\@removesemicolon#1;#2\@nil{#1}
15
- % \makeatother
16
- \newcommand\FirstWord[1]{#1}
17
-
18
- \ProcessOptions\relax
19
-
20
- \setlength{\parindent}{0pt}
21
- \setlength{\parskip}{0.8em}
22
-
23
- % contest keywords definitions
24
- \def\conProblemTutorial{Problem Tutorial}
25
- \def\conProblem{Problem}
26
- \def\conProblemAuthor{Author:}
27
- \def\conProblemDeveloper{Developer:}
28
- \def\conProblemOrigin{Origin:}
29
- \def\conInputFileName{Input file:}
30
- \def\conOutputFileName{Output file:}
31
- \def\conTimeLimit{Time limit:}
32
- \def\conMemoryLimit{Memory limit:}
33
- \def\conFeedback{Feedback:}
34
- \def\constdin{standard input}
35
- \def\constdout{standard output}
36
- \def\conSpecification{Specification}
37
- \def\conInteraction{Interaction Protocol}
38
- \def\conInput{Input}
39
- \def\conOutput{Output}
40
- \def\conExample{Example}
41
- \def\conExamples{Examples}
42
- \def\conExampleNotes{Notes}
43
- \def\conExplanation{Explanation}
44
- \def\conExplanations{Explanations}
45
- \def\conIllustration{Illustration}
46
- \def\conScoring{Scoring}
47
- \def\conNote{Note}
48
- \def\conNotes{Notes}
49
- \def\conConstraints{Constraints}
50
- \def\conversion{version}
51
- \def\conrevision{revision}
52
- \def\conSubtaskOne{Subtask 1}
53
- \def\conSubtaskTwo{Subtask 2}
54
- \def\conSubtaskThree{Subtask 3}
55
- \def\conSubtaskFour{Subtask 4}
56
- \def\conSubtaskFive{Subtask 5}
57
- \def\conSubtaskSix{Subtask 6}
58
- \def\conSubtask{Subtask}
59
- \def\conpoints{points}
60
- \def\conPage{Page}
61
- \def\conof{of}
62
- \def\connotstated{not stated}
63
- \def\conIntentionallyBlankPage{This page is intentionally left blank}
64
- \def\conTimeSuffix{s}
65
- \def\conMemorySufix{mb}
66
-
67
- % fancyhdr
68
-
69
- % font
70
-
71
- \newcommand{\afterfrontpage}{
72
- \vspace*{\fill}
73
- \begin{center}
74
- \problemheadfont\conIntentionallyBlankPage
75
- \end{center}
76
- \vspace*{\fill}
77
- \clearpage
78
- }
79
- \newcommand{\problemheadfont}{\LARGE}
80
- \newcommand{\problemsectionfont}{\Large}
81
- \newcommand{\problemtextfont}{\normalsize}
82
- \newcommand{\beforeproblemsectioncaption}{\smallbreak\smallskip}
83
- \newcommand{\afterproblemsectioncaption}{\smallskip}
84
- \newcommand{\problemend}{
85
- \clearpage
86
- \ifintentionallyblankpages
87
- \ifodd\value{page}
88
- \else
89
- \afterfrontpage
90
- \fi
91
- \fi
92
- }
93
- \def\presectionspacing{\hspace{3mm}}
94
-
95
- % section commands from olymp
96
-
97
- \newcommand{\createsection}{\@newsection}
98
-
99
- \def\@newsection#1#2{\DeclareRobustCommand{#1}{
100
- {\beforeproblemsectioncaption\bf\problemsectionfont\presectionspacing{#2}}
101
- \nopagebreak\par\afterproblemsectioncaption}
102
- }
103
-
104
- \newcommand{\createsectionpar}{\@newsectionpar}
105
-
106
- \def\@newsectionpar#1#2{\DeclareRobustCommand{#1}[1]{
107
- {\beforeproblemsectioncaption\bf\problemsectionfont{#2~##1}}
108
- \nopagebreak\par\afterproblemsectioncaption}
109
- }
110
-
111
- \newcommand{\createsectionpartwo}{\@newsectionpartwo}
112
-
113
- \def\@newsectionpartwo#1#2#3{\DeclareRobustCommand{#1}[2]{
114
- {\beforeproblemsectioncaption\problemsectionfont{\textbf{#2}~\textbf{##1}~(##2~#3)}}
115
- \nopagebreak\par\afterproblemsectioncaption}
116
- }
117
-
118
- \createsection{\Instructions}{\conInstructions}
119
- \createsection{\Specification}{\conSpecification}
120
- \createsection{\Interaction}{\conInteraction}
121
- \createsection{\InputFile}{\conInput}
122
- \createsection{\OutputFile}{\conOutput}
123
- \createsection{\Example}{\conExample}
124
- \createsection{\Examples}{\conExamples}
125
- \createsection{\Explanation}{\conExplanation}
126
- \createsection{\Explanations}{\conExplanations}
127
- \createsection{\Illustration}{\conIllustration}
128
- \createsection{\Scoring}{\conScoring}
129
- \createsection{\Note}{\conNote}
130
- \createsection{\Notes}{\conNotes}
131
- \createsection{\Constraints}{\conConstraints}
132
- \createsection{\SubtaskOne}{\conSubtaskOne}
133
- \createsection{\SubtaskTwo}{\conSubtaskTwo}
134
- \createsection{\SubtaskThree}{\conSubtaskThree}
135
- \createsection{\SubtaskFour}{\conSubtaskFour}
136
- \createsection{\SubtaskFive}{\conSubtaskFive}
137
- \createsection{\SubtaskSix}{\conSubtaskSix}
138
- \createsectionpar{\Subtask}{\conSubtask}
139
- \createsectionpartwo{\SubtaskWithCost}{\conSubtask}{\conpoints}
140
- \createsection{\Editorial}{\conEditorial}
141
-
142
- % frontpage
143
- \newenvironment{frontpage}[3]{
144
- \thispagestyle{empty}
145
- {\centering
146
- \noindent\rule{18cm}{0.4pt}
147
-
148
- \vspace{1cm}
149
- %\includegraphics[width=0.15\textwidth]{example-image-1x1}\par\vspace{1cm}
150
- {\LARGE #1\par}
151
- %\vspace{1cm}
152
- {\Large #2\par}
153
- \vspace{1cm}}
154
- \def\thisFrontPageDate{#3}
155
- \Instructions
156
- }{
157
- \vspace*{\fill}
158
- \centering{\Large \thisFrontPageDate\par}
159
- \centering\noindent\rule{18cm}{0.4pt}
160
- \newpage
161
- }
162
-
163
- % problem
164
- \newcounter{ProblemCounter}
165
-
166
- \newenvironment{problem}[6][]{
167
-
168
- \def\ProblemLetter{#1}
169
- \stepcounter{ProblemCounter}
170
- \begin{center}
171
- \ifx\ProblemLetter\empty
172
- \else
173
- \problemtextfont\textbf{\conProblem\ \ProblemLetter} \\
174
- \fi
175
- \problemheadfont\textsf{#2} \\
176
- \ifx#5\empty
177
- \else
178
- \problemtextfont{\conTimeLimit\ #5} \\
179
- \fi
180
- \ifx#6\empty
181
- \else
182
- \problemtextfont{\conMemoryLimit\ #6} \\
183
- \fi
184
- %\problemtextfont{\conSourceFileName\ \ProblemLetter\ \conSourceExts} \\
185
- \vspace{0.3cm}
186
- \noindent\rule{16cm}{0.4pt}
187
- \end{center}
188
- \problemtextfont
189
- \newcommand{\InputFileName}{#3}
190
- \newcommand{\OutputFileName}{#4}
191
- }{\problemend}
192
-
193
- % examples
194
- % -- Setup sizes --
195
- \newlength{\thelinewidth}
196
- \newlength{\exmpwidinf}
197
- \newlength{\exmpwidouf}
198
- \newlength{\exmpwidewid}
199
- \newlength{\exmpthreewidinf}
200
- \newlength{\exmpthreewidouf}
201
- \newlength{\exmpthreewidnote}
202
-
203
- \thelinewidth=\textwidth
204
- \exmpwidinf=0.43\thelinewidth
205
- \exmpwidouf=0.43\thelinewidth
206
- \exmpwidewid=0.9\thelinewidth
207
- \exmpthreewidinf=0.28\thelinewidth
208
- \exmpthreewidouf=0.28\thelinewidth
209
- \exmpthreewidnote=0.30\thelinewidth
210
-
211
- \def\s@tm@cr@s{
212
- \def\widthin##1{\exmpwidinf=##1\relax}
213
- \def\widthout##1{\exmpwidouf=##1\relax}
214
- \def\stretchin##1{\advance\exmpwidinf by ##1\relax}
215
- \def\stretchout##1{\advance\exmpwidouf by ##1\relax}
216
- \@ifstar{
217
- \error Star must not be used in example environment any more
218
- }
219
- }
220
-
221
- % This is magic, which delete space after verbatiminput
222
- \addto@hook{\every@verbatim}{\topsep=0pt\relax}
223
-
224
- \newenvironment{example}[1][]{
225
- \s@tm@cr@s#1
226
- \ttfamily\obeyspaces\obeylines\frenchspacing
227
- \newcommand{\exmp}[2]{
228
- \begin{minipage}[t]{\exmpwidinf}\rightskip=0pt plus 1fill\relax##1\medskip\end{minipage}&
229
- \begin{minipage}[t]{\exmpwidouf}\rightskip=0pt plus 1fill\relax##2\medskip\end{minipage}\\
230
- \hline
231
- }
232
-
233
- \newcommand{\exmpfile}[2]{
234
- \exmp{
235
- \verbatiminput{##1}
236
- }{
237
- \verbatiminput{##2}
238
- }%
239
- }
240
-
241
- \begin{center}
242
- \begin{tabular}{|l|l|}
243
- \hline
244
- \multicolumn{1}{|c|}{\bf\texttt{\textbf{\InputFileName}}} &
245
- \multicolumn{1}{|c|}{\bf\texttt{\textbf{\OutputFileName}}} \\
246
- \hline
247
- }{
248
- \end{tabular}
249
- \end{center}
250
- }
File without changes