diff --git a/help.html b/help.html new file mode 100644 index 0000000..e28f64b --- /dev/null +++ b/help.html @@ -0,0 +1,199 @@ + + + + + + 使用帮助 + + + + + + + + +
+
+ +
+
+
使用帮助
+
+ +
+
+ +
+
前言
+
+ 帮助页面主要介绍了本程序的使用方法和出题的注意事项,以帮助出题者出题, 如果在认真阅读本页面之后仍有疑问, 请联系我们 CatSystem@163.com +
+
+ +

题目基本信息

+ +
+
标题
+
+ 标题即为题目取一个名字, 可以为中文或者英文. +
+
+ +
+
时间限制
+
+ 时间限制是每个测试用例在测试用户提交的程序是否正确时所允许的最长运行时间, 当程序运行时间超出这个时间限制时, 平台将终止该程序的测试并返回超出时间限制. 时间限制要根据题目最大数据量以及解决该问题所用算法的复杂度来决定, 一般认为计算机的运行速度为10^8每秒. 注意此处的单位为MS, 时间限制不要少于1000MS. +
+
+ +
+
内存限制
+
+ 内存限制是每个测试用例在测试用户提交的程序是否正确时所允许使用的最大内存, 当程序运行时间超出这个内存限制时, 平台将终止该程序的测试并返回超出内存限制. 内存限制要根据题目最大数据量以及解决该问题所用算法的数据结构来决定. 注意此处的单位为KB, 内存限制不要少于65536KB. +
+
+ +
+
题目难度
+
+ 平台上的题目分为简单、较简单、一般、较难、难五个档次, 默认为一般. 出题时可以根据具体情况来标定题目的难度, 这个属性可以方便今后考试组题时难度的把握. +
+
+ +

题目内容

+ +
+
说明
+
+ 题目内容中的题目描述、输入描述、输出描述、提示和来源等处均已支持 MathJax 数学公式渲染引擎, 您可以在上述区域插入 Latex、MathML 和 ASCIIMathML 等标记语言, 有个比较简单的方法是, 您可以在网络上进行Latex的在线编辑(比如: 在线公式编辑器1在线公式编辑器2),然后将生成的代码复制到需要插入公式的区域. 注意: 您需要将生成的公式插入到两个符号之间才能正常渲染,主要有一下几种符号:
+ $ 公式 $ 或 \( 公式 \) 可以实现公式在行内显示.
+ $$ 公式 $$ 或 \[ 公式 \] 可以实现公式独占一行显示.
+ 在插入公式后您可以点击页面下方的预览按钮来查看效果以便及时调整版面. 另外在该页面的顶部集成了一个富文本编辑器, 可以对于题目描述中的文字进行格式编辑(与Word类似), 也可以插入图片, 但要注意图片的大小请不要超过1MB. +
+
+ +
+
题目描述
+
+ 题目描述即题干, 需要描述清楚这个题目需要解决什么问题. +
+
+ +
+
输入描述
+
+ 输入描述需要重点说明测试数据的输入格式, 建议指明所有输入的变量的数据范围, 这将决定着解决题目时所选用的算法和数据结构有利于估计复杂度. +
+
+ +
+
输出描述
+
+ 输出描述需要重点说明程序输出数据的格式 +
+
+ +
+
输入样例
+
+ 输入样例要保证与输入描述中规定的输入格式和数据范围相同, 样例最好具有典型性, 可以帮助理解题意. +
+
+ +
+
输出样例
+
+ 输出样例要保证与输出描述中规定的输出格式相同. +
+
+ +
+
提示
+
+ 提示主要针对题意的理解做一些补充的说明, 也可以对样例进行说明(例如输入的数据是如何得到输出的数据的),可填可不填. +
+
+ +
+
来源
+
+ 类似于题目的版权声明, 可填可不填. +
+
+ +

测试用例

+ +
+
文件夹说明
+
+ 添加用来测试提交的程序的数据, 要求所有的测试用例放在同一个文件夹中, 输入文件的扩展名必须为.in, 输出文件的扩展名必须为.out, 同时要求输入文件与输出文件的名称必须相同(此处的名称不包括扩展名), 测试用例中的测试点应当尽可能全面, 多方位测试程序的正确性, 如果要考察程序性能, 建议测试用例的数据量有小有大, 让暴力算法可得分但是得不到满分. +
+
+ +
+
分值
+
+ 为每一个测试用例定一个分值, 默认的分值是按平均来设定的, 建议根据各个测试用例测试点的价值来重新设定(例如:比较难的测试点分值较高等), 分值的总分应该是100分. +
+
+ +

题解

+
+
题解
+
+ 目前支持的语言有C语言、C++语言、JAVA语言, 可以根据需要来填写参考的解题程序和参考程序所用的思路. +
+
+
+
+
+ + + diff --git a/preview.html b/preview.html index 5aae460..56d5306 100644 --- a/preview.html +++ b/preview.html @@ -6,6 +6,7 @@ 预览题目 + - -
-
+
+
-
-

题目内容预览

+
+
+
+
题目内容预览
-

题目描述

+

题目描述

-

输入描述

+

输入描述

-

输出描述

+

输出描述

-

输入样例

+

输入样例

-

输出样例

+

输出样例

-

提示

+

提示

-

来源

+

来源

diff --git a/static/css/banneralert.css b/static/css/banneralert.css new file mode 100644 index 0000000..d83c0cd --- /dev/null +++ b/static/css/banneralert.css @@ -0,0 +1,6 @@ +.banneralert{background:#000;background:rgba(0,0,0,.85);font-family:"微软雅黑","Microsoft Yahei";font-size:13px;z-index: 999999;} +.banneralert .bannercontainer{width: 40%;margin: 0 auto;padding: 15px 0} +.banneralert .bannertitlebar{/*color:#fff;*/font-size: 18px;font-weight: normal;} +.banneralert .bannericon{height:16px;width:16px;margin-right:7px;vertical-align:middle} +.banneralert .bannercontent{/*color:rgba(255,255,255,0.5);*/padding: 5px 0 0 22px;} +.banneralert .bannerhandle{text-align:center;height:6px;width:35px;background:#999;border-radius:3px;margin:3px auto;cursor:hand;cursor:pointer} diff --git a/static/css/base.css b/static/css/base.css index 32872e1..f22d425 100644 --- a/static/css/base.css +++ b/static/css/base.css @@ -1,92 +1,171 @@ +/*------ start 页面整体效果 ------*/ html{ height: 100%; } -/*------For footer----*/ -.footer{ - position: absolute; - left: 0; - right: 7%; - bottom: 0; - overflow: hidden; - height: 74px; - color: #999; +body{ + min-height: 100%; + position: relative; + padding-bottom: 74px; + background-color: #e6e6e6 !important; + font-family: "微软雅黑","Helvetica Neue",Helvetica,Arial,sans-serif; } -.footer-text { - padding-top: 18px; +.body-container{ + top: 0px; + width: 88%; + bottom: 76px; + margin-left: 6%; + position: absolute; + background-color: #ffffff; + -webkit-border-bottom-right-radius:8px; + -webkit-border-bottom-left-radius:8px; + -moz-border-radius-bottomright:8px; + -moz-border-radius-bottomleft:8px; } +/*------ end 页面整体效果 ------*/ -.footer-p { - margin-top: 10px; - margin-bottom: 0px; +/*------ start 头部 ------*/ +.dHead{ + top:0; + z-index:5; + width: 100%; + height: 106px; + position:absolute; } - +/*---- 住标题----*/ .maintitle{ - padding-bottom: 15px; - padding-top: 10px; + position: relative; padding-left: 30px; font-family: "Helvetica Neue",Helvetica,"微软雅黑",Arial,sans-serif; } +/*---- 导航条 ----*/ .step-navbar { - margin-right: 15px; - margin-left: 15px; + margin: 0 15px; + position: relative; } +/*------ end 头部 ------*/ -body{ - min-height: 100%; - position: relative; - padding-bottom: 74px; - background-color: #e6e6e6 !important; - ont-family: "微软雅黑","Helvetica Neue",Helvetica,Arial,sans-serif; +/*------ start 内容主体 ------*/ +.dBody{ + top: 106px; + z-index: 10; + width: 100%; + bottom: 76px; + overflow: auto; + position:absolute; } -.body-container{ - position: relative; - margin-left: 7%; - margin-right: 7%; - padding-left: 20px; - padding-right: 20px; - background-color: #ffffff; - -webkit-border-bottom-right-radius:8px; - -webkit-border-bottom-left-radius:8px; - -moz-border-radius-bottomright:8px; - -moz-border-radius-bottomleft:8px; +/*----- 各个步骤的标题 -----*/ +.subhead{ + margin-top: 10px; + font-size: 30px; + display: block; + text-align: center; +} +/*------ end 内容主体 ------*/ + +/*------ start 按钮 ------*/ +.dBtn{ + bottom:0px; + z-index:200; + height:70px; + width: 100%; + position:absolute; + padding: 20px 15px; } -/* 上一步 下一步按钮 */ .preStepBtn{ - bottom: 20px; - margin-top: 50px; - position: relative; + left: 15px; + position: absolute; + display: inline-block; } .previewBtn{ right: 210px; - bottom: 20px; position: absolute; display: inline-block; } .saveStepBtn{ right: 120px; - bottom: 20px; position: absolute; display: inline-block; } .nextStepBtn{ right: 20px; - bottom: 20px; position: absolute; display: inline-block; } +/*------ end 按钮 ------*/ + +/*---- 页脚 ----*/ +.footer{ + position: absolute; + /*right: -20px;*/ + right: 6%; + left: 0; + bottom: 0; + overflow: hidden; + height: 74px; + color: #999; +} + +.footer-text { + padding-top: 18px; +} + +.footer-p { + margin-top: 10px; + margin-bottom: 0px; +} +/*---- 题目内容编辑页需要编辑的部分 ----*/ +.desc_text{ + padding: 6px; + font-size: 16px; + border-radius: 4px; + white-space: pre-wrap; + word-wrap: break-word; + font-family: monospace; + background-color: #f6f4ec; + border: 1px solid #cccccc; +} + +.problemItem +{ + color: #5A8CD8; + margin-top: 13px; + margin-bottom: 8px; + display: inline-block; +} + +.problemEditBar{ + top: 106px; + width: 87%; + z-index: 99999; + padding-left: 15px; + position: fixed; +} + +/*---- 添加题解页面 ----*/ +.lblcode{ + font-size: 20px; + font-weight: inherit; +} + +.compiler{ + width: 300px; + padding-left: 16px; +} + +/*---- 上传文件的按钮 ----*/ .fileinput-button { position: relative; overflow: hidden; - margin-right: 20px; + /*margin-right: 20px;*/ } .fileinput-button input { @@ -101,6 +180,12 @@ body{ cursor: pointer; } +/*---- 下载文件的按钮 ----*/ +.downloadico{ + font-size: 80px; + opacity: 0.7; +} + .downloadBtn{ overflow: hidden; width: 100px; @@ -119,7 +204,11 @@ body{ cursor: pointer; } -.downloadico{ - font-size: 80px; - opacity: 0.7; +/*---- 帮助信息 ----*/ +.helpText{ + opacity: 0.3; + font-size: 13px; + color: black; + display: inline; } + diff --git a/static/css/step.css b/static/css/step.css index 83329f4..9fb8efa 100644 --- a/static/css/step.css +++ b/static/css/step.css @@ -35,4 +35,7 @@ /*向导尺寸*/ .small.step,.small.steps .step{font-size:.8rem}/*小*/ .step,.steps .step{font-size:1rem}/*默认*/ -.large.step,.large.steps .step{font-size:1.3rem}/*大*/ +.large.step,.large.steps .step{ + font-family: Roboto Mono,Monaco,courier,monospace; + font-size:1.2rem; +}/*大*/ diff --git a/static/helpPage/css/help.css b/static/helpPage/css/help.css new file mode 100644 index 0000000..7d6006d --- /dev/null +++ b/static/helpPage/css/help.css @@ -0,0 +1,123 @@ +ul { + list-style-type: none; +} + +a { + color: #b63b4d; + text-decoration: none; +} + +/** ======================= + * Contenedor Principal + ===========================*/ + .accordion { + width: 100%; + max-width: 350px; + padding-left: 5px; + padding-right: 5px; + margin: 0 auto 20px; + background: #428bca; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + position: fixed; + } + +.accordion .link { + cursor: pointer; + display: block; + padding: 8px 8px 8px 42px; + color: #FFFFFF; + font-size: 14px; + font-weight: 700; + border-bottom: 1px solid #CCC; + position: relative; + -webkit-transition: all 0.4s ease; + -o-transition: all 0.4s ease; + transition: all 0.4s ease; +} + +.accordion li:last-child .link { + border-bottom: 0; +} + +.accordion li span { + position: absolute; + top: 8px; + left: 12px; + font-size: 18px; + color: #FFFFFF; + -webkit-transition: all 0.4s ease; + -o-transition: all 0.4s ease; + transition: all 0.4s ease; +} + +.accordion li span.glyphicon-chevron-down{ + right: 12px; + left: auto; + font-size: 16px; +} + +.accordion li span.glyphicon-chevron-right{ + right: 12px; + left: auto; + font-size: 16px; +} + +.accordion li.open .link { + color: #ccc; +} + +.accordion li.open span { + color: #ccc; +} +.accordion li.open span.glyphicon-chevron-down{ + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} + +/**----------------------------- + * Submenu + -----------------------------*/ + .submenu { + display: none; + background: #444359; + font-size: 14px; + } + + .submenu li { + border-bottom: 1px solid #4b4a5e; + } + + .submenu a { + display: block; + text-decoration: none; + color: #d9d9d9; + padding: 4px; + padding-left: 12px; + -webkit-transition: all 0.25s ease; + -o-transition: all 0.25s ease; + transition: all 0.25s ease; + } + + .submenu a:hover { + background: #b63b4d; + color: #FFF; + } + +/*============================= +panel 样式 +==============================*/ +.panel-heading{ + padding-top: 6px !important; + padding-bottom: 6px !important; + font-size: 18px; + font-family: Roboto Mono,Monaco,courier,monospace; +} +.panel-body{ + font-size: 14px; + font-family: Roboto Mono,Monaco,courier,monospace; + +} \ No newline at end of file diff --git a/static/helpPage/js/help.js b/static/helpPage/js/help.js new file mode 100644 index 0000000..dc36724 --- /dev/null +++ b/static/helpPage/js/help.js @@ -0,0 +1,26 @@ +$(function() { + var Accordion = function(el, multiple) { + this.el = el || {}; + this.multiple = multiple || false; + + // Variables privadas + var links = this.el.find('.link'); + // Evento + links.on('click', {el: this.el, multiple: this.multiple}, this.dropdown) + } + + Accordion.prototype.dropdown = function(e) { + var $el = e.data.el; + $this = $(this), + $next = $this.next(); + + $next.slideToggle(); + $this.parent().toggleClass('open'); + + if (!e.data.multiple) { + $el.find('.submenu').not($next).slideUp().parent().removeClass('open'); + }; + } + + var accordion = new Accordion($('#accordion'), false); +}); diff --git a/static/js/banneralert.min.js b/static/js/banneralert.min.js new file mode 100644 index 0000000..55caa83 --- /dev/null +++ b/static/js/banneralert.min.js @@ -0,0 +1,2 @@ +//banneralert.js +!function(){var a=setTimeout(function(){},0),b=0;$.fn.extend({showbanner:function(c){var f,g,h,i,j,k,l,d={title:"",icon:"",content:"",handle:!0,addclass:"",sound:"",position:"top",html:!1,show_duration:400,show_easing:"swing",duration:3e3,hide_duration:400,hide_easing:"swing",onClick:"",onHide:""},e=$.extend(d,c);""!=e.icon&&(e.icon=""),f=1==e.handle?'
':"",""!=e.sound&&(e.sound=''),g=e.position,h=!1,i="",b++,"bottom"==g&&(i=f,f=""),j=function(a){return a=a.replace(/&/g,"&"),a=a.replace(//g,">"),a=a.replace(/"/g,"""),a=a.replace(/\n/g,"
")},1!=e.html&&(e.title=j(e.title),e.content=j(e.content)),k=function(){$(".banneralert").remove(),$("#bannersound").remove(),clearTimeout(a),$("body").append('
'+i+'
'+e.icon+e.title+'
'+e.content+"
"+f+"
"+e.sound),$(".banneralert").addClass("bannerID"+b),""!=e.sound&&(document.getElementById("bannersound").onended=function(){$("#bannersound").remove()});var c=$(".banneralert").outerHeight();$(".banneralert").css(g,-c),"bottom"!=g?$(".banneralert").animate({top:0},e.show_duration,e.show_easing,function(){a=setTimeout(function(){l(b)},e.duration)}):$(".banneralert").animate({bottom:0},e.show_duration,e.show_easing,function(){a=setTimeout(function(){l(b)},e.duration)}),$(".bannerhandle").click(function(){h=!0,l(b)}),$(".banneralert").click(function(){"function"==typeof e.onClick&&1!=h&&e.onClick()})},l=function(a){var b=$(".bannerID"+a).outerHeight();"bottom"!=g?$(".bannerID"+a).animate({top:-b},e.hide_duration,e.hide_easing,function(){$(".bannerID"+a).remove(),"function"==typeof e.onHide&&e.onHide()}):$(".bannerID"+a).animate({bottom:-b},e.hide_duration,e.hide_easing,function(){$(".bannerID"+a).remove(),"function"==typeof e.onHide&&e.onHide()})},k()}})}(jQuery); \ No newline at end of file diff --git a/static/js/main.js b/static/js/main.js index 2a2428a..756700d 100644 --- a/static/js/main.js +++ b/static/js/main.js @@ -13,13 +13,13 @@ var INIT_CONFIG_DATA = { "description":"", "inputdescription":"", "outputdescription":"", - "inputsample":"
",
-	"outputsample":"
",
+	"inputsample":"",
+	"outputsample":"",
 	"datacount":0,
 	"datascore":{},
 	"hint":"",
 	"source":"",
-	"complier":"cpp",
+	"compiler":"cpp",
 	"solutioncode":"",
 	"solutiontext":""
 }
@@ -49,6 +49,29 @@ function initStep(){
     }
 }
 
+/**
+ * 弹出提示框
+ * @param  { string } tipTitle   [ 弹出框的标题 ]
+ * @param  { string } tipContent [ 弹出框的内容 ]
+ * @param  { string } tipClass   [ 弹出框的样式 ]
+ * @return {[type]}            [description]
+ */
+function showBanner(tipTitle, tipContent, tipClass){
+	var time = 2000;
+	if(tipClass == 'alert-danger') time = 4000;
+	$("body").showbanner({
+		title : tipTitle,
+		icon : "static/images/favicon.png",
+		content : tipContent,
+		addclass : tipClass,
+		show_duration : 200,
+		duration : time,
+		hide_duration : 500,
+		handle: false,
+		html: true
+	});
+}
+
 /**
  * js实现的对元素进行添加删除class样式
  * @param  { object }  obj [要进行操作的元素对象]
diff --git a/step0.html b/step0.html
index d9c8724..4cda269 100644
--- a/step0.html
+++ b/step0.html
@@ -6,14 +6,17 @@
     欢迎使用
     
     
+    
     
     
+    
     
     
     
 
 
-
-
+
+
@@ -35,15 +38,18 @@

南京理工大学程序设计能力评测系统题目打包程序

编辑题目内容 添加测试用例 添加题解 - 确认 + 完成确认
+
+
-

欢迎使用

-
+
欢迎使用
    -
  • 欢迎使用南京理工大学程序设计能力评测系统题目打包程序,该程序将引导您完成一道题目的创建,在创建结束以后,您将得到一个题目的压缩包,您只需要将其提交到评测系统(v1.0或以上版本)上就可以完成一道题目的上传供学生练习使用.
  • +
  • 欢迎使用南京理工大学程序设计能力评测系统题目打包程序,该程序将引导您完成一道题目的创建,在创建结束以后,您将得到一个题目的压缩包,您只需要将其提交到评测系统(v1.0.0 或以上版本)上就可以完成一道题目的上传供学生练习使用.
  • +
    +
  • 如果您在使用过程中发现了 bug 或着有意见或建议, 请通过 这里 提交给我们,我们会尽力满足您的需求, 以便更好的为广大师生服务.

  • -
  • 如果您在使用过程中发现了 bug 或着有意见或建议, 请通过这里提交给我们,我们会尽力满足您的需求, 以便更好的为广大师生服务.
  • +
  • 初次使用强烈建议您阅读 帮助页面 来获取帮助. 特别是关于测试用例的格式要求, 您需要注意. 当然您也可以随时点击程序中的 按钮来查看帮助页面.

  • 您在编辑或更改任意一项后请及时保存, 以免您所做的工作丢失.

  • @@ -51,11 +57,10 @@

    欢迎使用

-
- -
-
- 开始 +
+
+ 开始 +