wX
zMFp)JVJl;L@}63|ge(X*GJ&04GP18_Jg`f~>J1P_)28W`GVX1I=#>IQFNNqm3K%z3
z#$7=&7C(i!{48C17h-rNQ1S!BEwp}mqm27rLQIu85=gl981{Ml0)<}4n|>MC{sjALo&)bY;owOM)Uybsc|367EGoBW0mnRXJfj`R
zTg7fEjKhl2fb+oYEjXw3qoga*#gzad8g%i5!QZ0mek=Jwz>C7OB*8@X4sQz0Yv-(z
zPXonqoYTaC#KM=HYtS7)F_&ACMTbXm+@^a$!1`<4);J1oTLhP~ma?C@j@$mtNO~X1
zZGTSae~-&jkn&lNx#A)8JTZ)`ezXlpcV{PglXGb*cRh4Gk=Vv{>LUP;XWZjRI%bwN
z_q3}MIC@&4+SWpbi)K2(6k0Y^;r7)*@)H!E*J)drvm&5`w8?Q-EUKa9o9z^V6DN|%
z$H`dGst8`a8?eYwgxve{7$-&OptZnC2gRE1GGKqMB60xjOED=@cbugxoLQ0JYf+J}
z_{pE7UcwZ=Zr(|ZC$ZlJJI;&Qh@%q@+wj(Jh<=9>-rk>RuMOl~zMBc;r}D#`tEjkA
z_>qfvkrKEH8AG~hg)-*~kDAitjU_cLxVddMQ}-pq!7+62^QU55%k#
z+}@%6v1bIg&7HuZ-vs|F^uP9)FfWc2TbC}(A8~-<4G@;b(>iC(e~?uvEh5t7SGxwt
zxHm(_f+a$DA%#|9BSgg{QbE=WA6Dd2hTwoRMQ7K(K*9mhEzAV0c_vPdqW{%v#CbJDb4;ta`V`%@Z#X-ta!~AJ
z?3T(drTHTl_dYjEd@rjJ4L{MXzTh-B=cAX0q7dUuo^yi`?F%v_45zsKf_UZ?J{jV6sGK~>IV9Jp}gHhG;H-&{v1Njw%;os
zk9$f5nW}u2UyXjq@2PxNGlFIZWSp=>rAu1??0ChB)Q;wRR70LpOYNPk@({`V2@b47
z?a=qQpbGeuJd&taE$rKq21~sv?As$iQ3vZKnG}U8<|&OHP&`)Em~BteJyTtFHjypf
zs9G;l3|sW7n?KqTZf8Z3iu?LbJm&-)W1gk`|
zkCV%&r{0#)?Ps%wj7wx7e-@~5ka7~uT2phV(GO&q8e6G!rrC}4Q9$KBc2eW0ZZqr7
zr`uOvVGlIpoy#ND?>=v$zIa$|+IbZyC{VlFM^fMPRZp8j1n;(22e=R)`&yWf)`k0o
zZPhwXJg+YGd;-irp+2>66^SxlePJY(`mQ_bj@J+9qA%1x=&l2%RWgq4R{wC-5=dR9
zeiB^|ERSWkv_|!P$v7jN-kxH=Ywd>pA`JtEmZ_vof8d-yx|X
zmdIIsNosbzOxBqxeV!N%yn9;4tO%*?=rBOJQTp-)?bh9ru1~52(yXML#{JaVy`5xsLr#~NUP$>cpqpquQk*bztI>(GHmQC=C2>Gi0jXC
z^ezESn#a?E>Bx1O?#wz0MWN+=D4F2dT2%`9CVz%j^YAPUslRJA|1zV|_DXAgV
z$6A|wO6*vXw*NK?VRVa(!A2Rg=dxagF@I~(dQ`NKMdxZguBB6Zd7_=%+)3pXp!FU4
z6-|wYTEFK0WZEm*fH!vmp-UThBpx_i%Tf#`>ChQ%=9*DdB2KKq5Hw)>VC{DgsPb$*
zW!!&Nd&i!{Tgq#He*Ha(Yh>;{)+%xyvDzL+wYP3#Lk5|29&77iO87{lYrZs&s&=66
zVqOY;Ox@O9shR}@YILo3)K~Vt)wTT=L-Qw8*Z$T7Y}l>4CXsOp({x|?lVLXB)%_Yd
zf%b3Jz1%`lMEdDo{aNjEHt1f5=&1|T>3J>j<&iDpu4DRM+&Y>$gY`!GOz4OB_x1gR
zVsek2-Y${|U(#DY*p0N#e#0`&9r{LE>H`;2-B|j_Xv~$dx{9@#`%bI5t1m5^M%wMr
zSEUD0+j^w`^aWvEi@s?%Idw-reY0)^_3dzdb7nhv@~!@YeJuISpznHaOR_oXUs_O@
zYfLQ6!fArNH-*aF4Gv)f(KgTUUI(pNnrIka7*93uPs501Bu0OgVPs1PrP^R{t)TT4
zUmCowQOXBLuojEa(k9-p(xr~<<;q0M2~JN9mz0|*tqw!$%~G
zX?BGg?x*FaSVH7iIGs63t^T=ys??&13k@wnr|MmUc_wR6D*Z2FquIujE&e!DdpY-K6?(Aol
zYx@G?8DNw9&bfBe8%qHfBVhY8;9UV!&jaRU0zS0kZ!BB~EVuw19RLK{0lNl4b(r=|
zuv0L1#?E^Cbbkof^MUOr6fC@^;J)7!JkkMi5*_lhQjm>>I4c|YXc)xVuE3OW3huB|
z@Zfxi%TLiqr$LOa2FhkZOriaLXB6DM2x5*O@SdN7mOH#5mVqLUS1>V=g>ZKAr==Ly
z+Y7AR%d$Cpmqd8>{|nH*Rd84UyzdG?ly@9R9E6}M
zirx8p1*f_xxcf^4=MDpsS7C|H5y;EHhnd9D*v}MnKcnFMfD^cV80)-
zLkLsX;?vpwKyej{{4N4p8nCbKB`|#y4xFGsy-HD0!~>;vsNPZlG*sfVymsKzOYFAF
z+9e##I19{A!8iH76>t{e#0p^GOByM?ZYZNTA3beEh04jp2Syg6cznX}0{2^_e^
zjhZ%$Soo213%v)Z7H~@o=<@h)xQ!1&fwhcFO{U;BkK(ddQ}*w#;kNvHBE5Ivw!9<^
ze83f`Ncn<#?$Bs@o)*Q`KHUs#d&5rfW~Z`F?pnlDighe^$G8&ke8D}7r)%cfa({H)
zpdmcWxCzW4m?O$RQMund03@7Id0nGpQBJC$a?*yCs+QEz_KkN{A=9Rj$)_k-
zJVq53`w3u~rwV^S*W~_36)}7@`Q))GuD24{`$`o*l+JB_uG+fo6p;0ll?wirm4B&z
z2_&hPGS%;i+lle%?2Ta0No=q`wEt2ov+Di!y;CsHI%Rhc4
z@Ncvf#A%^_2M5e}CD`<##OjX>w2Rd=1RD5cU_4W*d(QWf$5h-*G}YcL&JyW@FXXTp9CH
zI|rl-9XZ3P?h}O0GYsI%MX}ik*jS6&s?`+U6>-4G|B|jgqLbS|AU#xck1_*sP2$W1
zTGz&j3+sr>b$Md!7xb-Ng{)OQLbdA!d#1JzKPu+UA~RG}hE+)`apxO|qA#RmiMHhTk#^)$v1N^u
zN{JCf@0Sj^QzXgxQn?Lbrj=Crt_Up2k{a(dQ3G?7+Hz7Ty|dDl*QEOPPU-4JI=H`8
zx>M5&4ERC1dyZ&G)kwdF)3e>r(z7XlP|NC+UKH125caH-UeryX!2kt4mZ}Xoi>W$K
zvU=@EivacLKd4{!&r*AeWfZhvc*^GwhI(Pa=ZG*6FVSf7OR(?Z8RFE?)?<8wZ{2u
zD6smb#*f$o
zL^f!By@}u*_q0LI#K&$&7NU3Nl32ceWKgEI!s|J(=(zTa;282=ulD>znl3vIYCC!!
zQR5t^eQdY}m}3-tw^#f4iWRVRxb}6*SipjpwIQ2;nR8@|sGotHa@l%LG_7x7{S5X#
zN9EC>L_poU^3=w5z`9NL$soz1SIUdzQ#3ifn-I|QYGhR#*(qFux7)^^f0+OiHM8Mkz3p@k`yNS
zyNr*3F((x)7$skBbOEFd@{iqg+HhOGHlvy%{g-^hdLQ+4NxplUSaYbCI~z!(%CF^L
zdLB}b&y|1oA*qFZI!elBGkHeavK?xMb0r`L6!qJj0fUiX`Z$}dQ7dp#H^
zpQ|5SOu06^(GS^7QB7)9FwB~{nkK)Kt@k|KN>1*p_q>`*CFZZ6*>Z=f@TA^<+)bJs
zo%(>5A>{2#`k>eMDfTXX$dNP}e+E`*GRp^S_4#qGR;h35W4!-b-3
z`k}gOxKu+wUm-d}n?1E3w$yO>&viidP(%A$GqsO-hO099tN4lGW+3@0@sQ#7cn{L>
zJ;SRMQYGHP@Yml>;e+*to^T^Ii`7P6Pds@RD!5~M
z%id@oPed>6&rVp37`XPTF(jDE%4)8H)_WAJky)38zi;g{V@0JeY2{nf#K%2=1>BzeO*
z(<Lemon
-
-
+
+
Lemon
LemonLime
@@ -1820,7 +1820,7 @@
编译选项(&C)
-
+
Single Judge
测试某一题(&J)
@@ -1830,7 +1830,7 @@
测试
-
+
测试全部(&A)
@@ -1859,7 +1859,7 @@
控制(&C)
-
+
工具(&T)
@@ -1868,74 +1868,74 @@
设置语言(&U)
-
+
Guides
指南(&G)
-
+
导出成绩…
-
+
Judge &Single Task
测试未测试(&U)
-
+
打开当前比赛的目录(&F)
-
+
在文件管理器中打开这个比赛的目录…
-
+
保存比赛文件(&S)
-
+
保存这个比赛…
-
+
如何添加交互题…
-
+
如何创建打包的测试点(Subtasks)…
-
+
什么是整理文件…
-
+
LemonLime 编译文件的不同…
-
+
什么是“跳过这一题”…
-
+
如何写一个校验器…
-
+
LemonLime 新加的关于导出文件的特性…
@@ -1944,7 +1944,7 @@
更多(&M)
-
+
在线帮助…
@@ -1953,7 +1953,7 @@
测试未找到文件的(&G)
-
+
测试“未测试”…
@@ -1962,26 +1962,26 @@
测试编译出错的(&M)
-
+
测试“编译错误”、“编译超时”等…
-
+
Change Contest Name
更改比赛标题(&H)
-
-
+
+
&Interaction
交互题设置
-
-
+
+
&Compile Features
编译选项
@@ -2006,22 +2006,22 @@
界面语言
-
+
帮助(&H)
-
+
新建比赛(&N)
-
+
打开已有的比赛(&O)
-
+
退出(&X)
@@ -2030,24 +2030,24 @@
选项(&O)
-
+
关于(&A)
-
+
测试选中选手(&J)
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
&Clean up Files
整理文件
@@ -2089,7 +2089,7 @@
-
+
整理所有选手文件…
@@ -2100,13 +2100,13 @@
-
+
刷新选手列表…
-
+
测试未测试…
@@ -2118,13 +2118,13 @@
-
+
测试指定区域…
-
+
测试所有选手…
@@ -2144,153 +2144,162 @@
打开 / 关闭 / 重命名比赛等
-
+
切换语言…
-
+
设置语言(&L)
-
+
LemonLime 教程…
-
+
创建新的比赛…
-
+
找到一场比赛,并打开它…
-
+
退出 LemonLime…
-
+
设置(&S)
-
+
LemonLime 设置…
-
+
关于 LemonLime…
-
+
关闭当前的比赛(&C)
-
+
关闭这个比赛…
-
+
自动添加试题(&T)
-
+
在 ./data 里寻找题目,并且自动添加它们…
-
+
创建批处理测试目录(&M)
-
+
导出成绩(&E)
-
+
打包的测试点
-
+
跳过这一题
-
+
自定义校验器(SPJ)
-
+
导出成绩
-
+
更多
-
+
测试无源文件(&N)
-
+
测试编译问题(&C)
-
+
修改这场比赛的名字…
-
+
整理文件(&F)
-
+
刷新(&R)
-
-
+
+
通信题
-
+
如何添加通信题…
-
+
+
+ 导出统计信息(&S)
+
+
+
+ 导出统计信息
+
+
+
简体中文
-
+
确定要整理文件吗?
-
+
建议参看教程后再确认操作。
@@ -2299,7 +2308,7 @@
创建备份文件到 <br> `source.bak'?
-
+
没有进行整理。
@@ -2312,105 +2321,105 @@
没有进行整理:没法创建 `source.bak'。
-
+
备份中…
-
+
整理中
-
+
正在整理…
-
+
抓取题目数据…
-
+
预处理中…
-
+
整理文件中…
-
+
整理完成。
-
+
没有进行整理
-
-
-
-
-
+
+
+
+
+
出错了
-
-
+
+
无法打开 %1
-
+
保存失败
-
+
已保存
-
-
+
+
%1 已损坏
-
-
-
+
+
+
LemonLime - %1
-
+
不稳定版本
-
+
重命名比赛
-
+
输入你想要的名字。
-
+
新名字…
-
+
Notice that you may use `atoi(argv[4])' to get the correct full score.
你可能得用 `atoi(argv[4])' 来获得正确的总分。
@@ -2424,173 +2433,173 @@
注意
-
+
没有进行整理:没法创建 `%1'。
-
-
+
+
你需要提供你的交互库和接口。最好还有一个SPJ-以lemon族评测系统的标准来进行编写。它们的路径以 data 文件夹为根进行填写。
-
+
下面是一个使用交互型的题目的配置例子:
-
+
交互库路径: matrix/matrix.h
-
+
交互库名称: matrix.h
-
+
接口实现(grader)路径: matrix/grader.cpp
-
+
选手要提供源文件。
-
+
评测端要提供接口文件。
-
+
下面是一个例子:
-
+
源程序列表:
-
+
Alice.cpp Alice.cpp
-
+
Bob.cpp Bob.cpp
-
+
接口文件列表:
-
+
taskname/Alice.h Alice.h
-
+
taskname/Bob.h Bob.h
-
+
taskname/Grader.cpp Grader.cpp
-
+
关于通信题
-
+
关于创建打包的测试点的一些经验
-
+
如何写一个语法正确的正则表达式:
-
+
匹配任意数量的数字: \d*
-
+
提示:
-
+
"\d" 表示匹配一个数字。
-
+
"." 表示匹配任意一个字符。
-
+
"*" 表示把之前的那个表达式重复 0 到无限大遍。
-
+
关于导出成绩的特性
-
+
支持导出HTML, CSV, XLS (仅Windows)。
-
+
导出 HTML 有两种模式:完整版和压缩版。
-
+
完整版 HTML 有更多的颜色,支持题目跳转;
-
+
压缩版 HTML 体积更小,比原来的还要小 20% 到 50%。
-
+
使用后缀“*.html”的时候启用完整版,使用后缀“*.htm”的时候使用压缩版。
-
+
关于导出成绩
-
+
什么是整理文件
-
+
为每个选手的每一个文件创建它的子文件夹内的文件和子文件夹外的文件,无论它们以前是在子文件夹内还是子文件夹外。
-
+
当文件夹内外都有文件的时候,文件夹里面的文件会覆盖文件夹外面的。
@@ -2599,7 +2608,7 @@
当文件夹内外都有文件的时候,文件夹外面的文件会覆盖文件夹里面的。
-
+
当心使用:原有的子文件夹内的本来的文件会丢失。
@@ -2608,12 +2617,12 @@
当心使用:原有的子文件夹的本来的文件会丢失。
-
+
关于 整理文件
-
+
只在你想节省时间的时候使用。
@@ -2626,7 +2635,7 @@
你也可以选定指定的人来重测它们的某一道题。
-
+
如何写一个 Lemon 的校验器
@@ -2635,23 +2644,23 @@
LemonLime - %1
-
+
无法创建比赛目录
-
+
找不到任何试题
-
+
A tiny judging environment for OI contest
基于Lemon的简易OI竞赛测试环境
-
+
Base on Project Lemon version 1.2 Beta by Zhipeng Jia, 2011
基于Lemon v1.2 by Zhipeng Jia, 2011
@@ -2665,19 +2674,19 @@
由Dust1404更新
-
+
Featured by iotang
由 Dust1404 和 iotang 更新
-
+
我们把栈空间设置成和内存限制相同。
如果内存限制为无限制,那么栈空间会被设置成 2.00 GB。
-
+
关于 编译选项
@@ -2699,7 +2708,7 @@
接口实现(grader)路径 matrix/grader.cpp
-
+
关于 交互题
@@ -2717,23 +2726,23 @@
匹配任意数量的数字: \d*
-
+
More : <a href="http://www.runoob.com/java/java-regular-expressions.html">
<a href="http://www.runoob.com/java/java-regular-expressions.html">更多正则表达式规则</a>
-
+
下面是一个例子:
-
+
创建备份文件到 <br> `%1'?
-
+
没有进行整理:`%1' 已经存在。
@@ -2742,25 +2751,25 @@
没有进行整理:没法创建 `%1'。
-
+
Data(in): matrix/matrix<1>.in
输入文件:matrix/matrix<1>.in
-
+
Data(out): matrix/matrix<1>.out
输出文件:matrix/matrix<1>.out
-
+
And the "<1>" is "\d*".
把"<1>"设为"\d*"。
-
+
关于 打包的测试点
@@ -2778,17 +2787,17 @@
关于 整理文件
-
+
什么是“跳过这一题”
-
+
这可以中断一个题目的评测。当前正在测试的点测完后,在后面的点被生效。中断的时候所有没有评测的点会显示为“超过时间限制”。
-
+
而还没有测试的点也会被显示成“超过时间限制”。
@@ -2797,7 +2806,7 @@
在你想节省时间的时候使用。
-
+
关于 “跳过这一题”
@@ -2818,37 +2827,37 @@
怎么写自定义校验器(SPJ)
-
+
你的校验器需要接收6个参数流:
-
+
argv[1] : (输入)标准输入文件
-
+
argv[2] : (输入)选手的输出文件
-
+
argv[3] : (输入)答案文件
-
+
argv[4] : (输入)这个测试点的满分
-
+
argv[5] : (输出)得到的分数(一个整数)
-
+
argv[6] : (输出)额外信息
@@ -2857,7 +2866,7 @@
Lemon Pt 的SPJ标准和所有Lemon族的测试器的标准是一样的。下面的SPJ样例展示了接口的编号对应的内容。
-
+
关于 自定义校验器(SPJ)
@@ -2866,7 +2875,7 @@
项目地址
-
+
About LemonPlus
关于 LemonLime
@@ -2876,7 +2885,7 @@
v1.2 测试版
-
+
构建日期:%1
@@ -2885,7 +2894,7 @@
Copyright (c) 2011 Zhipeng Jia
-
+
本程序基于<a href="http://www.gnu.org/licenses/gpl-3.0.html">GPLv3</a>许可协议
@@ -3159,130 +3168,162 @@ p, li { white-space: pre-wrap; }
-
+
+
还没有比赛
-
+
+
还没有题目
-
+
+
还没有参赛者
-
+
比赛
-
+
总览
-
+
得分
-
+
数量
-
+
占比
-
+
前缀和
-
+
后缀和
-
-
+
+
平均
-
+
标准差
-
+
区分度
-
+
编号.
-
+
输入
-
+
输出
-
+
Arcaea
Pure
-
+
Arcaea
Far
-
+
Arcaea
Lost
-
+
个文件
-
+
警告:没有测试完全部选手。
-
+
题目
-
+
试题
-
+
提交人数
+
+
+
+
+
+
+
+ LemonLime
+
+
+
+
+ 无法打开 %1
+
+
+
+
+ 导出完成
+
+
+
+
+ HTML文档 (*.html)
+
+
+
+
+ 导出统计信息
+
SummaryTree
diff --git a/settings.cpp b/settings.cpp
index f059859b..d5d99faf 100644
--- a/settings.cpp
+++ b/settings.cpp
@@ -205,7 +205,7 @@ void Settings::swapCompiler(int a, int b)
{
if (0 <= b && b < compilerList.size())
{
- compilerList.swapItemsAt(a, b);
+ compilerList.swap(a, b);
}
}
}
diff --git a/statisticsbrowser.cpp b/statisticsbrowser.cpp
index 87f875fa..986daa99 100644
--- a/statisticsbrowser.cpp
+++ b/statisticsbrowser.cpp
@@ -30,6 +30,7 @@
#include
#include
#include
+#include
StatisticsBrowser::StatisticsBrowser(QWidget *parent) :
QWidget(parent),
@@ -273,4 +274,62 @@ void StatisticsBrowser::refresh()
buffer += "