2024-10-10

This commit is contained in:
2024-10-10 12:56:56 +08:00
commit 7b347c848a
2648 changed files with 643965 additions and 0 deletions

View File

@@ -0,0 +1,144 @@
var i = 0;
var interval = 800;
function auto_refresh() {
interval *=2 ;
var tb = window.document.getElementById('result-tab');
var rows = tb.rows;
var i=rows.length-1;
for (; i>0; i--) {
var result = $(rows[i].cells[4].children[0]).attr("result");
result=$(rows[i].cells[4]).find("span").attr("result");
rows[i].cells[4].className = "td_result";
var sid = $(rows[i].cells[0]).text();
if (result<4||result>14) {
window.setTimeout("fresh_result("+sid+")",interval);
console.log("auto_refresh "+sid+" actived!");
break;
}
}
if(i==0){
console.log("no more");
$("iframe").remove(); //
}
}
function findRow(solution_id) {
var tb = window.document.getElementById('result-tab');
var rows = tb.rows;
for (var i=1; i<rows.length; i++) {
var cell = rows[i].cells[0];
if ($(cell).text()==solution_id)
return rows[i];
}
}
function fancy(td){
console.log(user_id+":"+fancy_mp3);
$(td).html("<div id='bannerFancy' style='position:absolute;top:0px;left:0px;width:100%' class='ui main container'></div><audio autoplay=\"autoplay\" preload=\"auto\" src='"+fancy_mp3+"'></audio>");
window.setTimeout("$(\"#bannerFancy\").html(\"<iframe border=0 src='fancy.php' width='100%' height='800px'></iframe>\");",500);
window.setTimeout("$(\"#bannerFancy\").remove();",5000);
}
function fresh_result(solution_id) {
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var tb = window.document.getElementById('result-tab');
var row = findRow(solution_id);
//alert(row);
var r = xmlhttp.responseText;
var ra = r.split(",");
ra[0] = parseInt(ra[0]);
// alert(r);
// alert(judge_result[r]);
var loader = "<img width=18 src=image/loader.gif>";
row.cells[5].innerHTML = ra[1];
row.cells[6].innerHTML = ra[2];
if(ra[3] != undefined && row.cells[10] != undefined)
row.cells[10].innerHTML = ra[3];
if (ra[0]<4) {
//console.log(loader);
if (-1==row.cells[4].innerHTML.indexOf("loader")) {
//console.log(row.cells[3].innerHTML);
row.cells[4].innerHTML += loader;
}
interval *= 1.5;
window.setTimeout("fresh_result("+solution_id+")",interval);
}
else {
//console.log(ra[0]);
switch (ra[0]) {
case 4:
case 14:
if(user_id==ra[5]){
fancy(row.cells[4]);
row.cells[4].innerHTML += "<a href=reinfo.php?sid="+solution_id+" class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+"</a>";
}else{
row.cells[4].innerHTML = "<a href=reinfo.php?sid="+solution_id+" class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+"</a>";
}
break;
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
row.cells[4].innerHTML = "<a href=reinfo.php?sid="+solution_id+" class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+" :"+(oj_mark=='percent'?100-ra[4].trim():ra[4].trim())+"%</a>";
break;
case 11:
row.cells[4].innerHTML = "<a href=ceinfo.php?sid="+solution_id+" class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+"</a>";
break;
default:
// row.cells[4].innerHTML = "<span class='"+judge_color[ra[0]]+"'>"+judge_result[ra[0]]+" AC:"+ra[4].trim()+"%</span>";
}
$(row.cells[4].children[0]).attr("result",ra[0]);
auto_refresh();
}
}
}
xmlhttp.open("GET","status-ajax.php?solution_id="+solution_id,true);
xmlhttp.send();
}
var hj_ss = "<select class='http_judge form-control' length='2' name='result'>";
for (var i=0; i<10; i++) {
if(i==3 || i==4 ) continue;
hj_ss += " <option value='"+i+"'>"+judge_result[i]+" </option>";
}
hj_ss += "</select>";
hj_ss += "<input name='manual' type='hidden'>";
hj_ss += "<input class='http_judge form-control' size=5 title='Explaination' name='explain' type='text'>";
hj_ss += "<input type='button' class='http_judge' name='manual' value='Submit' onclick='http_judge(this)' >";
$(".http_judge_form").append(hj_ss);
window.setTimeout("auto_refresh();",1000);
$(".td_result").mouseover(function () {
//$(this).children(".label").hide(300);
$(this).find("form").show(600);
var sid = $(this).find("span[class=original]").attr("sid");
$(this).find("span[class=original]").load("status-ajax.php?q=user_id&solution_id="+sid);
});
$(".http_judge_form").hide();
function http_judge(btn) {
var sid = $(btn).parent()[0].children[0].value;
$.post("admin/problem_judge.php",$(btn).parent().serialize(),function(data,textStatus) {
if(textStatus=="success")window.setTimeout("fresh_result("+sid+")",1000);
})
return false;
}

View File

@@ -0,0 +1,49 @@
<?php
$show_title="$MSG_ERROR_INFO - $OJ_NAME";
include("template/$OJ_TEMPLATE/header.php");
?>
<div class="ui positive icon message">
<div class="content">
<div class="header" style="margin-bottom: 10px; " ondblclick='$(this).load("refresh-privilege.php")'>
<form style="float:left;display:inline" action="balloon.php" method="get">
Contest ID:<input type="text" name="cid" value="<?php echo $cid?>" >
<input type="submit" class="btn btn-primary" value="Check">
</form>
<div style="float:right;display:inline">
<form style="float:left;" action="balloon.php?cid=<?php echo $cid?>" method="post" onsubmit="return confirm('Delete All Tasks?');">
<input type="hidden" name="cid" value="<?php echo $cid?>" >
<input type="hidden" name="clean" >
<input type="submit" class='btn btn-danger' value="Clean">
<?php require_once(dirname(__FILE__)."/../../include/set_post_key.php")?>
</form>
</div>
<table class="table table-striped content-box-header">
<tr><td>id<td><?php echo $MSG_USER_ID?><td><?php echo $MSG_COLOR?><td><?php echo $MSG_STATUS?><td></tr>
<?php
foreach($view_balloon as $row){
echo "<tr>\n";
foreach($row as $table_cell){
echo "<td>";
echo $table_cell;
echo "</td>";
}
$i++;
echo "</tr>\n";
}
?>
</table>
<p>
</p>
</div>
</div>
<!-- <p><%= err.details %></p> -->
<p>
<!-- <a href="<%= err.nextUrls[text] %>" style="margin-right: 5px; "><%= text %></a> -->
<a href="javascript:history.go(-1)"><?php echo $MSG_BACK;?></a>
</p>
</div>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,31 @@
<?php
$show_title="$MSG_ERROR_INFO - $OJ_NAME";
include("template/$OJ_TEMPLATE/header.php");
?>
<div class="ui positive icon message">
<i class="check icon"></i>
<div class="content">
<h1>Balloon Ticket</h1>
<?php
echo "<h2>".htmlentities(str_replace("\n\r","\n",$view_user),ENT_QUOTES,"utf-8")."\n";
echo "-".htmlentities(str_replace("\n\r","\n",$view_school),ENT_QUOTES,"utf-8")."-".htmlentities(str_replace("\n\r","\n",$view_nick),ENT_QUOTES,"utf-8")."\n"."</h2>";
echo "Problem ".$PID[$view_pid]."<br>";
if(isset($_GET['fb']) && intval($_GET['fb'])==1){
echo "Balloon Color: <font color='".$ball_color[$view_pid]."'>".$ball_name[$view_pid]." First Blood! </font><br>";
}else{
echo "Balloon Color: <font color='".$ball_color[$view_pid]."'>".$ball_name[$view_pid]."</font><br>";
}
?>
<input onclick="window.print();" type="button" value="<?php echo $MSG_PRINTER?>">
<input onclick="location.href='balloon.php?id=<?php echo $id?>&cid=<?php echo $cid?>';" type="button" value="<?php echo $MSG_PRINT_DONE?>">
<img src="image/wx.jpg" height="100px" width="100px">
<?php echo $view_map?>
<script src="<?php echo $OJ_CDN_URL?>template/bs3/jquery.min.js"></script>
<script>
$("td:contains(<?php echo $view_user?>)").css("background-color","<?php echo $ball_color[$view_pid]?>");
</script>
</div>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

File diff suppressed because one or more lines are too long

7
web/template/sidebar/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
<?php $show_title="$MSG_SOURCE - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<div class="padding">
<div style="margin-top: 0px; margin-bottom: 14px; padding-bottom: 0px; " >
<p class="transition visible">
<h1 style="margin-left: 10px; display: inline-block; "><?php echo $MSG_SOURCE?></h1>
</p>
<div class="ui existing segment">
<?php echo $view_category?>
</div>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,215 @@
<?php $show_title=$id." - $MSG_COMPILE_INFO - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<script src="template/<?php echo $OJ_TEMPLATE?>/js/textFit.min.js"></script>
<link href='<?php echo $OJ_CDN_URL?>highlight/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='<?php echo $OJ_CDN_URL?>highlight/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<div class="padding">
<div style="margin-top: 0px; margin-bottom: 14px; padding-bottom: 0px; " >
<p class="transition visible">
<strong ><?php echo $MSG_SOURCE_CODE ?></strong>
</p>
<div class="ui existing segment">
<pre v-if="escape" style="margin-top: 0; margin-bottom: 0; "><code><div class="brush:c" id='source' name="source"></div></code></pre>
</div>
</div>
<div style="margin-top: 0px; margin-bottom: 14px; " >
<p class="transition visible">
<strong ><?php echo $MSG_COMPILE_INFO ?></strong>
</p>
<div class="ui existing segment">
<pre v-if="escape" style="margin-top: 0; margin-bottom: 0; "><code><div id='errtxt'><?php echo $view_reinfo?></div></code></pre>
</div>
</div>
<div style="margin-top: 0px; margin-bottom: 14px; " >
<p v-if="title" class="transition visible">
<strong v-html="title"><?php echo $MSG_ERROR_EXPLAIN;?></strong>
</p>
<div class="ui existing segment">
<pre v-if="escape" style="margin-top: 0; margin-bottom: 0; "><code><div id='errexp'></div></code></pre>
</div>
</div>
</div>
<script>
var i=0;
var pats=new Array();
var exps=new Array();
pats[i]=/System\.out\.print.*%.*/;
exps[i++]="<?php echo $MSG_SYSTEM_OUT_PRINT; ?>";
pats[i]=/.*没有那个文件或目录.*/;
exps[i++]="<?php echo $MSG_NO_SUCH_FILE_OR_DIRECTORY; ?>";
pats[i]=/not a statement/;
exps[i++]="<?php echo $MSG_NOT_A_STATEMENT; ?>";
pats[i]=/class, interface, or enum expected/;
exps[i++]="<?php echo $MSG_EXPECTED_CLASS_INTERFACE_ENUM; ?>";
pats[i]=/asm.*java/;
exps[i++]="<?php echo $MSG_SUBMIT_JAVA_AS_C_LANG; ?>";
pats[i]=/package .* does not exist/;
exps[i++]="<?php echo $MSG_DOES_NOT_EXIST_PACKAGE; ?>";
pats[i]=/possible loss of precision/;
exps[i++]="<?php echo $MSG_POSSIBLE_LOSS_OF_PRECISION; ?>";
pats[i]=/incompatible types/;
exps[i++]="<?php echo $MSG_INCOMPATIBLE_TYPES; ?>";
pats[i]=/illegal start of expression/;
exps[i++]="<?php echo $MSG_ILLEGAL_START_OF_EXPRESSION; ?>";
pats[i]=/cannot find symbol/;
exps[i++]="<?php echo $MSG_CANNOT_FIND_SYMBOL; ?>";
pats[i]=/';' expected/;
exps[i++]="<?php echo $MSG_EXPECTED_SEMICOLON; ?>";
pats[i]=/should be declared in a file named/;
exps[i++]="<?php echo $MSG_DECLARED_JAVA_FILE_NAMED; ?>";
pats[i]=/expected .* at end of input/;
exps[i++]="<?php echo $MSG_EXPECTED_WILDCARD_CHARACTER_AT_END_OF_INPUT; ?>";
pats[i]=/invalid conversion from .* to .*/;
exps[i++]="<?php echo $MSG_INVALID_CONVERSION; ?>";
pats[i]=/warning.*declaration of 'main' with no type/;
exps[i++]="<?php echo $MSG_NO_RETURN_TYPE_IN_MAIN; ?>";
pats[i]=/'.*' was not declared in this scope/;
exps[i++]="<?php echo $MSG_NOT_DECLARED_IN_SCOPE; ?>";
pats[i]=/main must return int/;
exps[i++]="<?php echo $MSG_MAIN_MUST_RETURN_INT; ?>";
pats[i]=/expected identifier or '\(' before numeric constant/
exps[i++]="<?php echo $MSG_EXPECTED_IDENTIFIER; ?>";
pats[i]=/printf.*was not declared in this scope/;
exps[i++]="<?php echo $MSG_PRINTF_NOT_DECLARED_IN_SCOPE; ?>";
pats[i]=/warning: ignoring return value of/;
exps[i++]="<?php echo $MSG_IGNOREING_RETURN_VALUE; ?>";
pats[i]=/:.*__int64 undeclared/;
exps[i++]="<?php echo $MSG_NOT_DECLARED_INT64; ?>";
pats[i]=/:.*expected ; before/;
exps[i++]="<?php echo $MSG_EXPECTED_SEMICOLON_BEFORE; ?>";
pats[i]=/ .* undeclared \(first use in this function\)/;
exps[i++]="<?php echo $MSG_UNDECLARED_NAME; ?>";
pats[i]=/scanf.*was not declared in this scope/;
exps[i++]="<?php echo $MSG_SCANF_NOT_DECLARED_IN_SCOPE; ?>";
pats[i]=/memset.*was not declared in this scope/;
exps[i++]="<?php echo $MSG_MEMSET_NOT_DECLARED_IN_SCOPE; ?>";
pats[i]=/malloc.*was not declared in this scope/;
exps[i++]="<?php echo $MSG_MALLOC_NOT_DECLARED_IN_SCOPE; ?>";
pats[i]=/puts.*was not declared in this scope/;
exps[i++]="<?php echo $MSG_PUTS_NOT_DECLARED_IN_SCOPE; ?>";
pats[i]=/gets.*was not declared in this scope/;
exps[i++]="<?php echo $MSG_GETS_NOT_DECLARED_IN_SCOPE; ?>";
pats[i]=/str.*was not declared in this scope/;
exps[i++]="<?php echo $MSG_STRING_NOT_DECLARED_IN_SCOPE; ?>";
pats[i]=/import does not name a type/;
exps[i++]="<?php echo $MSG_NO_TYPE_IMPORT_IN_C_CPP; ?>";
pats[i]=/asm undeclared/;
exps[i++]="<?php echo $MSG_ASM_UNDECLARED; ?>";
pats[i]=/redefinition of/;
exps[i++]="<?php echo $MSG_REDEFINITION_OF; ?>";
pats[i]=/expected declaration or statement at end of input/;
exps[i++]="<?php echo $MSG_EXPECTED_DECLARATION_OR_STATEMENT; ?>";
pats[i]=/warning: unused variable/;
exps[i++]="<?php echo $MSG_UNUSED_VARIABLE; ?>";
pats[i]=/implicit declaration of function/;
exps[i++]="<?php echo $MSG_IMPLICIT_DECLARTION_OF_FUNCTION; ?>";
pats[i]=/too .* arguments to function/;
exps[i++]="<?php echo $MSG_ARGUMENTS_ERROR_IN_FUNCTION; ?>";
pats[i]=/expected =, ,, ;, asm or __attribute__ before namespace/;
exps[i++]="<?php echo $MSG_EXPECTED_BEFORE_NAMESPACE; ?>";
pats[i]=/stray \\[0123456789]* in program/;
exps[i++]="<?php echo $MSG_STRAY_PROGRAM; ?>";
pats[i]=/division by zero/;
exps[i++]="<?php echo $MSG_DIVISION_BY_ZERO; ?>";
pats[i]=/cannot be used as a function/;
exps[i++]="<?php echo $MSG_CANNOT_BE_USED_AS_A_FUNCTION; ?>";
pats[i]=/format .* expects type .* but argument .* has type .*/;
exps[i++]="<?php echo $MSG_CANNOT_FIND_TYPE; ?>";
pats[i]=/类.*是公共的,应在名为 .*java 的文件中声明/;
exps[i++]="<?php echo $MSG_JAVA_CLASS_ERROR; ?>";
pats[i]=/expected \) before .* token/;
exps[i++]="<?php echo $MSG_EXPECTED_BRACKETS_TOKEN; ?>";
pats[i]=/找不到符号/;
exps[i++]="<?php echo $MSG_NOT_FOUND_SYMBOL; ?>";
pats[i]=/需要为 class、interface 或 enum/;
exps[i++]="<?php echo $MSG_NEED_CLASS_INTERFACE_ENUM; ?>";
pats[i]=/符号: 类 .*List/;
exps[i++]="<?php echo $MSG_CLASS_SYMBOL_ERROR; ?>";
pats[i]=/方法声明无效;需要返回类型/;
exps[i++]="<?php echo $MSG_INVALID_METHOD_DECLARATION; ?>";
pats[i]=/expected.*before.*&.*token/;
exps[i++]="<?php echo $MSG_EXPECTED_AMPERSAND_TOKEN; ?>";
pats[i]=/非法的表达式开始/;
exps[i++]="<?php echo $MSG_DECLARED_FUNCTION_ORDER; ?>";
pats[i]=/需要 ';'/;
exps[i++]="<?php echo $MSG_NEED_SEMICOLON; ?>";
pats[i]=/extra tokens at end of #include directive/;
exps[i++]="<?php echo $MSG_EXTRA_TOKEN_AT_END_OF_INCLUDE; ?>";
pats[i]=/int.*hasNext/;
exps[i++]="<?php echo $MSG_INT_HAS_NEXT; ?>";
pats[i]=/unterminated comment/;
exps[i++]="<?php echo $MSG_UNTERMINATED_COMMENT; ?>";
pats[i]=/expected '=, ,, ;, asm or __attribute__ before { token/;
exps[i++]="<?php echo $MSG_EXPECTED_BRACES_TOKEN; ?>";
pats[i]=/进行语法解析时已到达文件结尾/;
exps[i++]="<?php echo $MSG_REACHED_END_OF_FILE_1; ?>";
pats[i]=/subscripted value is neither array nor pointer/;
exps[i++]="<?php echo $MSG_SUBSCRIPT_ERROR; ?>";
pats[i]=/expected expression before % token/;
exps[i++]="<?php echo $MSG_EXPECTED_PERCENT_TOKEN; ?>";
pats[i]=/expected expression before .* token/;
exps[i++]="<?php echo $MSG_EXPECTED_EXPRESSION_TOKEN; ?>";
pats[i]=/expected but/;
exps[i++]="<?php echo $MSG_EXPECTED_BUT; ?>";
pats[i]=/redefinition of main/;
exps[i++]="<?php echo $MSG_REDEFINITION_MAIN; ?>";
pats[i]=/iostream: No such file or directory/;
exps[i++]="<?php echo $MSG_IOSTREAM_ERROR; ?>";
pats[i]=/expected unqualified-id before \[ token/;
exps[i++]="<?php echo $MSG_EXPECTED_UNQUALIFIED_ID_TOKEN; ?>";
pats[i]=/解析时已到达文件结尾/;
exps[i++]="<?php echo $MSG_REACHED_END_OF_FILE_2; ?>";
pats[i]=/非法字符/;
exps[i++]="<?php echo $MSG_INVALID_SYMBOL; ?>";
pats[i]=/应在名为.*的文件中声明/;
exps[i++]="<?php echo $MSG_DECLARED_FILE_NAMED; ?>";
pats[i]=/variably modified/;
exps[i++]="<?php echo $MSG_VARIABLY_MODIFIED; ?>";
function explain(){
//alert("asdf");
var errmsg=$("#errtxt").text();
var expmsg="";
for(var i=0;i<pats.length;i++){
var pat=pats[i];
var exp=exps[i];
var ret=pat.exec(errmsg);
if(ret){
expmsg+=ret+":"+exp+"<br>";
}
}
document.getElementById("errexp").innerHTML=expmsg;
//alert(expmsg);
}
</script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shCore.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushCss.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushJava.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushDelphi.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushBash.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushPython.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushPerl.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushCSharp.js' type='text/javascript'></script>
<script src='<?php echo $OJ_CDN_URL?>highlight/scripts/shBrushVb.js' type='text/javascript'></script>
<script>
$(document).ready(function(){
$("#source").load("showsource2.php?id=<?php echo $id?>",function(response,status,xhr){
if(status=="success"){
SyntaxHighlighter.config.bloggerMode = false;
SyntaxHighlighter.config.clipboardSwf = '<?php echo $OJ_CDN_URL?>highlight/scripts/clipboard.swf';
SyntaxHighlighter.highlight();
explain();
}
});
});
</script>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

7
web/template/sidebar/clipboard.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,103 @@
<?php $show_title=$id." - $MSG_Source_Compare - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<link type="text/css" rel="stylesheet" href="mergely/codemirror.css" />
<link type="text/css" rel="stylesheet" href="mergely/mergely.css" />
<body style="width: 100%;">
<table style="width: 100%;"><tr>
<td style="width: 50%;"><input type="checkbox" id="ignorews">ignore witespaces</td>
</table>
<br/>
<table style="width: 100%;"><tr>
<td style="width: 50%;"><tt id="path-lhs"></tt> &nbsp; <a id="save-lhs" class="save-link" href="#">save</a></td>
<td style="width: 50%;"><tt id="path-rhs"></tt> &nbsp; <a id="save-rhs" class="save-link" href="#">save</a></td>
</table>
<div id="mergely-resizer" style="height: 450px;">
<div id="compare">
</div>
</div>
</body>
<script type="text/javascript" src="mergely/codemirror.js"></script>
<script type="text/javascript" src="mergely/mergely.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#compare').mergely({
width: 'auto',
height: 'auto', // containing div must be given a height
cmsettings: { readOnly: false },
});
var lhs_url = 'getsource.php?id=<?php echo intval($_GET['left'])?>';
var rhs_url = 'getsource.php?id=<?php echo intval($_GET['right'])?>';
$.ajax({
type: 'GET', async: true, dataType: 'text',
url: lhs_url,
success: function (response) {
$('#path-lhs').text(lhs_url);
$('#compare').mergely('lhs', response);
}
});
$.ajax({
type: 'GET', async: true, dataType: 'text',
url: rhs_url,
success: function (response) {
$('#path-rhs').text(rhs_url);
$('#compare').mergely('rhs', response);
}
});
function checkFileList(files) {
if (typeof window.FileReader !== 'function')
error_msg("The file API isn't supported on this browser yet.");
if (files.length>0) readFile(files[0], "lhs");
if (files.length>1) readFile(files[1], "rhs");
}
function readFile(file, side) {
var reader = new FileReader();
reader.onload = function file_onload() {
// document.getElementById('td1').innerHTML = ..
$('#path-'+side).text(file.name);
$('#compare').mergely(side, reader.result);
}
reader.readAsBinaryString(file);
}
function handleDragOver(evt) {
evt.stopPropagation();
evt.preventDefault();
evt.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.
}
function handleFileSelect(evt) {
document.getElementById('drop_zone').visibility = "collapse";
evt.stopPropagation();
evt.preventDefault();
var files = evt.dataTransfer.files; // FileList object.
checkFileList(files);
}
var dropZone = document.getElementById('drop_zone');
document.body.addEventListener('dragover', handleDragOver, false);
document.body.addEventListener('drop', handleFileSelect, false);
function download_content(a, side) {
//a.innerHTML = "preparing content..";
var txt = $('#compare').mergely('get', side);
var datauri = "data:plain/text;charset=UTF-8," + encodeURIComponent(txt);
a.setAttribute('download', side+".txt");
a.setAttribute('href', datauri);
//a.innerHTML = "content ready.";
}
document.getElementById('save-lhs').addEventListener('mouseover', function() { download_content(this, "lhs"); }, false);
document.getElementById('save-rhs').addEventListener('mouseover', function() { download_content(this, "lhs"); }, false);
document.getElementById('ignorews').addEventListener('change', function() {
$('#compare').mergely('options', { ignorews: this.checked });
}, false);
});
</script>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,170 @@
<?php $show_title="Contest".$view_cid." - ".$view_title." - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<style>
.ui.label.pointing.below.left::before {
left: 12%;
}
.ui.label.pointing.below.right::before {
left: 88%;
}
.ui.label.pointing.below.left {
margin-bottom: 0;
}
.ui.label.pointing.below.right {
margin-bottom: 0;
float: right;
}
#back_to_contest {
display: none;
}
</style>
<div class="padding">
<h1>Contest<?php echo $view_cid?> - <?php echo $view_title ?></h1>
<div class="ui pointing below left label"><?php echo $view_start_time?></div>
<div class="ui pointing below right label"><?php echo $view_end_time?></div>
<div id="timer-progress" class="ui tiny indicating progress success" data-percent="50">
<div class="bar" style="width: 0%; transition-duration: 300ms;"></div>
</div>
<div class="ui grid">
<div class="row">
<div class="column">
<div class="ui buttons">
<a class="ui small blue button" href="contestrank.php?cid=<?php echo $view_cid?>">ACM<?php echo $MSG_STANDING?></a>
<a class="ui small yellow button" href="contestrank-oi.php?cid=<?php echo $view_cid?>">OI<?php echo $MSG_STANDING?></a>
<a class="ui small positive button" href="status.php?cid=<?php echo $view_cid?>"><?php echo $MSG_STATUS?></a>
<!-- <a class="ui small pink button" href="conteststatistics.php?cid=<?php echo $view_cid?>"><?php echo $MSG_STATISTICS?></a> -->
</div>
<div class="ui buttons right floated">
<?php
if ($now>$end_time)
echo "<span class=\"ui small button grey\">$MSG_Ended</span>";
else if ($now<$start_time)
echo "<span class=\"ui small button red\">$MSG_Contest_Pending</span>";
else
echo "<span class=\"ui small button green\">$MSG_Running</span>";
?>
<?php
if ($view_private=='0')
echo "<span class=\"ui small button blue\">$MSG_Public</span>";
else
echo "<span class=\"ui small button pink\">$MSG_Private</span>";
?>
<?php if(isset($_SESSION[$OJ_NAME.'_'.'administrator']) || isset($_SESSION[$OJ_NAME.'_m'.$cid ])) {?>
<a href="suspect_list.php?cid=<?php echo $view_cid?>" class="ui small blue button"><?php echo $MSG_IP_VERIFICATION?></a>
<a href="user_set_ip.php?cid=<?php echo $view_cid?>" class="ui small green button"><?php echo $MSG_SET_LOGIN_IP?></a>
<a target="_blank" href="../../admin/contest_edit.php?cid=<?php echo $view_cid?>" class="ui small red button"><?php echo "EDIT"?></a>
<?php } ?>
<span class="ui small button"><?php echo $MSG_Server_Time ?>:<span id=nowdate><?php echo date("Y-m-d H:i:s")?></span></span>
</div>
</div>
</div>
<?php if($view_description){ ?>
<div class="row">
<div class="column">
<h4 class="ui top attached block header"><?php echo $MSG_Contest_Infomation ?></h4>
<div class="ui bottom attached segment font-content">
<?php echo $view_description?>
</div>
</div>
</div>
<?php } ?>
<div class="row">
<div class="column">
<table class="ui selectable celled table">
<thead>
<tr>
<th class="one wide" style="text-align: center">
<?php if(isset($_SESSION[$OJ_NAME.'_'.'user_id'])) echo "状态" ?>
</th>
<th class="two wide" style="text-align: center"><?php echo $MSG_PROBLEM_ID ?></th>
<th><?php echo $MSG_TITLE ?></th>
<!-- <th><?php //echo $MSG_SOURCE ?></th> -->
<th class="one wide center aligned"><?php echo $MSG_AC ?></th>
<th class="one wide center aligned"><?php echo $MSG_SUBMIT_NUM ?></th>
</tr>
</thead>
<tbody>
<?php
foreach($view_problemset as $row){
echo "<tr>";
foreach($row as $table_cell){
echo "<td>".$table_cell."</td>";
}
echo "</tr>";
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script>
$(function() {
$('#timer-progress').progress({
value: Date.now() / 1000 - <?php echo strtotime($view_start_time)?>,
total: <?php echo (strtotime($view_end_time)- strtotime($view_start_time))?>
});
});
$(function() {
setInterval(function() {
$('#timer-progress').progress({
value: Date.now() / 1000 - <?php echo strtotime($view_start_time)?>,
total: <?php echo (strtotime($view_end_time)- strtotime($view_start_time))?>
});
}, 5000);
});
</script>
<script src="include/sortTable.js"></script>
<script>
var diff = new Date("<?php echo date("Y/m/d H:i:s")?>").getTime() - new Date().getTime();
//alert(diff);
function clock() {
var x, h, m, s, n, xingqi, y, mon, d;
var x = new Date(new Date().getTime() + diff);
y = x.getYear() + 1900;
if (y > 3000) y -= 1900;
mon = x.getMonth() + 1;
d = x.getDate();
xingqi = x.getDay();
h = x.getHours();
m = x.getMinutes();
s = x.getSeconds();
n = y + "-" + mon + "-" + d + " " + (h >= 10 ? h : "0" + h) + ":" + (m >= 10 ? m : "0" + m) + ":" + (s >= 10 ? s :
"0" + s);
//alert(n);
document.getElementById('nowdate').innerHTML = n;
setTimeout("clock()", 1000);
}
clock();
// show count down if $OJ_CONTEST_LIMIT_KEYWORD triggered
<?php if(isset($time_left)){ ?>
var time_left=<?php echo $time_left ;?> ;
function count_down(){
time_left--;
if(time_left>0){
let notice="<?php echo $MSG_LeftTime ?>"+":"+Math.floor(time_left/60))+
"<?php echo $MSG_MINUTES ?>"+(time_left % 60)+
"<?php echo $MSG_SECONDS ?>";
$("#time_left").html(notice);
}
}
setInterval("count_down()", 1000);
<?php }?>
</script>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,29 @@
<?php $view_cid=$cid; ?>
<div class="row">
<div class="column">
<div class="ui buttons">
<a class="ui small blue button" href="contestrank.php?cid=<?php echo $view_cid?>">ACM排行榜</a>
<a class="ui small yellow button" href="contestrank-oi.php?cid=<?php echo $view_cid?>">OI排行榜</a>
<a class="ui small positive button" href="status.php?cid=<?php echo $view_cid?>">提交记录</a>
<!-- <a class="ui small pink button" href="conteststatistics.php?cid=<?php echo $view_cid?>">比赛统计</a> -->
</div>
<div class="ui buttons right floated">
<?php
if ($now>$end_time)
echo "<span class=\"ui small button grey\">$MSG_Ended</span>";
else if ($now<$start_time)
echo "<span class=\"ui small button red\">$MSG_Contest_Pending</span>";
else
echo "<span class=\"ui small button green\">$MSG_Running</span>";
?>
<?php
if ($view_private=='0')
echo "<span class=\"ui small button blue\">$MSG_Public</span>";
else
echo "<span class=\"ui small button pink\">$MSG_Private</span>";
?>
<span class="ui small button"><?php echo $MSG_Server_Time ?>:<span id=nowdate><?php echo date("Y-m-d H:i:s")?></span></span>
</div>
</div>
</div>

View File

@@ -0,0 +1,145 @@
<?php $show_title = "Contest RankList - " . $title . " - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php"); ?>
<style>
.submit_time {
font-size: 0.8em;
margin-top: 5px;
color: #000;
}
</style>
<div style="margin-bottom:40px; ">
<h1 style="text-align:left;">Contest<?php echo $cid ?> -- <?php echo $title ?>
<a class='ui small blue button' href="contestrank-oi.php?spa&down&cid=<?php echo $cid ?>" >Download</a>
<a class='ui small green button' href="contestrank5.php?cid=<?php echo $cid?>" ><?php echo $MSG_REVIEW_CONTESTRANK ?></a>
<button class='ui small yellow button' onclick='$("tr[class!=active]").toggle();'>Show/Hide</button>
</h1>
</div>
<div id="rankdiv" class="padding" onclick="$(this).css('margin-left',(548-window.innerWidth/2)+'px').css('margin-right',(548-window.innerWidth/2)+'px')" style="margin-left:-200px;margin-right:-200px;overflow:auto" >
<?php if ($user_cnt > 0) { ?>
<table <?php if (isset($_GET['down'])) echo "border=1" ?>
class="ui very basic center aligned table" style="margin:30px" >
<thead>
<tr class='active'>
<td class="{sorter:'false'} text-center"><?php echo $MSG_STANDING?></td>
<td class='text-center'><?php echo $MSG_USER?></td>
<td class='text-center'><?php echo $MSG_NICK?></td>
<td class='text-center'><?php echo $MSG_SOVLED?></td>
<td class='text-center'><?php echo $MSG_CONTEST_PENALTY?></td>
<td class='text-center'><?php echo $MSG_MARK ?></td>
<?php
for ($i = 0; $i < $pid_cnt; $i++)
echo "<th><a href=problem.php?cid=$cid&pid=$i>$PID[$i]</a></th>";
?>
</tr>
</thead>
<tbody>
<?php
$rank = 1;
if(isset($_GET['down']))
$tag="b";
else
$tag="div";
for ($i = 0; $i < $user_cnt; $i++) {
$uuid = $U[$i]->user_id;
$nick = $U[$i]->nick;
$usolved = $U[$i]->solved;
echo "<tr onclick='$(this).attr(\"class\",\"active\");' ondblclick='$(this).attr(\"class\",\"\");' >";
echo "<td>";
if ($nick[0] != "*") {
if ($rank == 1)
echo "<div class=\"ui yellow ribbon label\">";
else if ($rank == 2)
echo "<div class=\"ui ribbon label\">";
else if ($rank == 3)
echo "<div class=\"ui brown ribbon label\" style=\"background-color: #C47222 !important;\">";
else
echo "<div>";
echo $rank++;
echo "</div>";
} else
echo "*";
echo "</td>";
if (isset($_GET['user_id']) && $uuid == $_GET['user_id'])
echo "<td bgcolor=#ffff77>";
else
echo "<td>";
echo "<a name=\"$uuid\" href=userinfo.php?user=$uuid>$uuid</a>";
echo "</td>";
echo "<td>";
echo htmlentities($U[$i]->nick, ENT_QUOTES, "UTF-8");
echo "</td>";
echo "<td>";
echo htmlentities($U[$i]->solved, ENT_QUOTES, "UTF-8");
echo "</td>";
echo "<td>";
echo sec2str($U[$i]->time);
echo "</td>";
echo "<td class='ui small header'>";
echo "<a href=status.php?user_id=$uuid&cid=$cid>" . ($U[$i]->total) . "</a>";
echo "</td>";
for ($j = 0; $j < $pid_cnt; $j++) {
if (isset($U[$i])) {
if (isset($U[$i]->p_ac_sec[$j]) && $U[$i]->p_ac_sec[$j] > 0) {
if ($uuid == $first_blood[$j]) {
echo "<td style=\"background: rgb(" . (150 + 12 * $U[$i]->p_wa_num[$j]) . ", 255, " . min(230, 150 + 8 * $U[$i]->p_wa_num[$j]) . "); position:relative;\">";
echo "<$tag style=\"position:absolute;width:30%;margin-top: 5%;margin-right: 5%;height:30%;right:0px;top:0px;\"> <font color='red'>※1st</font></$tag>";
} else {
echo "<td style=\"background: rgb(" . (150 + 12 * $U[$i]->p_wa_num[$j]) . ", 255, " . min(230, 150 + 8 * $U[$i]->p_wa_num[$j]) . "); \">";
}
if (isset($U[$i]->p_wa_num[$j]) && $U[$i]->p_wa_num[$j] > 0) {
echo "<span class=\"score score_10\">";
echo $U[$i]->p_pass_rate[$j]*100;
echo "</span>";
} else {
echo "<span class=\"score score_10\">";
echo $U[$i]->p_pass_rate[$j]*100;
echo "</span>";
}
echo " <$tag class=\"submit_time\">";
echo sec2str($U[$i]->p_ac_sec[$j]);
echo "</$tag>";
} else if (isset($U[$i]->p_wa_num[$j]) && $U[$i]->p_wa_num[$j] > 0) {
echo "<td style=\"background: rgb(255, " . max(130, 240 - 9 * $U[$i]->p_wa_num[$j]) . ", " . max(130, 240 - 9 * $U[$i]->p_wa_num[$j]) . "); \">";
echo "<span class=\"score score_0\">";
echo $U[$i]->p_pass_rate[$j] * 100;
echo "</span>";
} else {
echo "<td>";
}
} else {
echo "<td>";
}
echo "</td>";
}
echo "</tr>";
}
?>
</tbody>
</table>
<?php } else { ?>
<div style="background-color: #fff; height: 18px; margin-top: -18px; "></div>
<div class="ui placeholder segment" style="margin-top: 0px; ">
<div class="ui icon header">
<i class="ui file icon" style="margin-bottom: 20px; "></i>
暂无选手提交
</div>
</div>
<?php } ?>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php"); ?>

View File

@@ -0,0 +1,208 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
<title><?php echo $OJ_NAME?></title>
<?php include("template/$OJ_TEMPLATE/css.php");?>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="template/<?php echo $OJ_TEMPLATE?>/js/html5shiv.js"></script>
<script src="template/<?php echo $OJ_TEMPLATE?>/js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<?php include("template/$OJ_TEMPLATE/nav.php");?>
<!-- Main component for a primary marketing message or call to action -->
<div class="jumbotron">
<?php
$rank=1;
?>
<center><h3>Contest Team RankList -- <?php echo $title?></h3>
<!-- <a href="contestrank.xls.php?cid=<?php echo $cid?>" >Download</a> -->
<?php
if($OJ_MEMCACHE)
{
if (isset($_SESSION[$OJ_NAME.'_'.'administrator'])) {
echo ' | <a href="contestrank3.php?cid='.$cid.'">滚榜</a>';
}
echo '<a href="contestrank2.php?cid='.$cid.'">Replay</a>';
}
?>
</center>
<div style="overflow: auto">
<table id=rank><thead><tr class=toprow align=center><td class="{sorter:'false'}" width=5%>Rank<th width=10%>Team</th><th width=5%>Num</th><th width=5%>Solved</th><th width=5%>Average</th><th width=5%>Penalty</th>
<?php
for ($i=0;$i<$pid_cnt;$i++)
echo "<td><a href=problem.php?cid=$cid&pid=$i>$PID[$i]</a></td>";
echo "</tr></thead>\n<tbody>";
for ($i=0;$i<$school_cnt;$i++){
if ($i&1) echo "<tr class=oddrow align=center>\n";
else echo "<tr class=evenrow align=center>\n";
echo "<td>";
$school=$S[$i]->school;
$renshu=$S[$i]->renshu;
$usolved=$S[$i]->solved;
$avg=intval($usolved)/intval($renshu);
$format_avg = sprintf("%.2f",$avg);
if($school[0]!="*")
echo $rank++;
else
echo "*";
echo"<td>";
echo "$school";
echo "<td>$renshu";
echo "<td>$usolved";
echo "<td>$format_avg";
echo "<td>".sec2str($S[$i]->time);
for ($j=0;$j<$pid_cnt;$j++){
$bg_color="eeeeee";
if (isset($S[$i]->p_ac_num[$j])&&$S[$i]->p_ac_num[$j]>0){
$aa=0x33+$S[$i]->p_wa_num[$j]*32;
$aa=$aa>0xaa?0xaa:$aa;
$aa=dechex($aa);
$bg_color="$aa"."ff"."$aa";
//$bg_color="aaffaa";
}
else if(isset($S[$i]->p_wa_num[$j])&&$S[$i]->p_wa_num[$j]>0) {
$aa=0xaa-$S[$i]->p_wa_num[$j]*10;
$aa=$aa>16?$aa:16;
$aa=dechex($aa);
$bg_color="ff$aa$aa";
}
echo "<td class=well style='background-color:#$bg_color'>";
if(isset($S[$i])){
if (isset($S[$i]->p_ac_num[$j])&&$S[$i]->p_ac_num[$j]>0)
echo $S[$i]->p_ac_num[$j]."/".$renshu;
else if (isset($S[$i]->p_wa_num[$j])&&$S[$i]->p_wa_num[$j]>0)
echo "(-".$S[$i]->p_wa_num[$j].")";
}
}
echo "</tr>\n";
}
echo "</tbody></table>";
?>
</div>
</div>
</div> <!-- /container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<?php include("template/$OJ_TEMPLATE/js.php");?>
<script type="text/javascript" src="include/jquery.tablesorter.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$.tablesorter.addParser({
// set a unique id
id: 'punish',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
// format your data for normalization
var v=s.toLowerCase().replace(/\:/,'').replace(/\:/,'').replace(/\(-/,'.').replace(/\)/,'');
//alert(v);
v=parseFloat('0'+v);
return v>1?v:v+Number.MAX_VALUE-1;
},
// set type, either numeric or text
type: 'numeric'
});
$("#rank").tablesorter({
headers: {
4: {
sorter:'punish'
}
<?php
for ($i=0;$i<$pid_cnt;$i++){
echo ",".($i+5).": { ";
echo " sorter:'punish' ";
echo "}";
}
?>
}
});
metal();
}
);
</script>
<script>
function getTotal(rows){
var total=0;
for(var i=0;i<rows.length&&total==0;i++){
try{
total=parseInt(rows[rows.length-i].cells[0].innerHTML);
if(isNaN(total)) total=0;
}catch(e){
}
}
return total;
}
function metal(){
var tb=window.document.getElementById('rank');
var rows=tb.rows;
try{
<?php
//若有队伍从未进行过任何提交数据库solution表里不会有数据榜单上该队伍不存在总rows数量不等于报名参赛队伍数量奖牌比例的计算会出错
//解决办法:可以为现场赛采用人为设定有效参赛队伍数$OJ_ON_SITE_TEAM_TOTAL值为0时则采用榜单计算。详情见db_info.inc.php
if($OJ_ON_SITE_TEAM_TOTAL!=0)
echo "var total=".$OJ_ON_SITE_TEAM_TOTAL.";";
else
echo "var total=getTotal(rows);";
?>
//alert(total);
for(var i=1;i<rows.length;i++){
var cell=rows[i].cells[0];
var acc=rows[i].cells[3];
var ac=parseInt(acc.innerText);
if (isNaN(ac)) ac=parseInt(acc.textContent);
if(cell.innerHTML!="*"&&ac>0){
var r=parseInt(cell.innerHTML);
if(r==1){
cell.innerHTML="Winner";
//cell.style.cssText="background-color:gold;color:red";
cell.className="badge btn-warning";
}
if(r>1&&r<=total*.05+1)
cell.className="badge btn-warning";
if(r>total*.05+1&&r<=total*.20+1)
cell.className="badge";
if(r>total*.20+1&&r<=total*.45+1)
cell.className="badge btn-danger";
if(r>total*.45+1&&ac>0)
cell.className="badge badge-info";
}
}
}catch(e){
//alert(e);
}
}
</script>
<style>
.well{
background-image:none;
padding:1px;
}
td{
white-space:nowrap;
}
</style>
</body>
</html>

View File

@@ -0,0 +1,165 @@
<?php $show_title="Contest RankList -- ".$title." - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<style>
.submit_time {
font-size: 0.8em;
margin-top: 5px;
color: #000;
}
</style>
<div style="margin-bottom:40px; ">
<h1 style="text-align: left;">Contest<?php echo $cid?> - <?php echo $title?>
<a class='ui small blue button' href="contestrank.xls.php?cid=<?php echo $cid?>" ><?php echo $MSG_DOWNLOAD ?></a>
<a class='ui small green button' href="contestrank4.php?cid=<?php echo $cid?>" ><?php echo $MSG_REVIEW_CONTESTRANK ?></a>
<button class='ui small yellow button' onclick='$("tr[class!=active]").toggle();'><?php echo $MSG_SHOW ?>/<?php echo $MSG_HIDE ?></button>
</h1>
</div>
<div id="rankdiv" class="padding" onclick="$(this).css('margin-left',(548-window.innerWidth/2)+'px').css('margin-right',(548-window.innerWidth/2)+'px')" style="margin-left:-200px;margin-right:-200px;overflow:auto" >
<?php if($user_cnt>0){ ?>
<table class="ui very basic center aligned table" style="margin:30px">
<thead>
<tr class='active'>
<td class="{sorter:'false'} text-center"><?php echo $MSG_STANDING?></td>
<td class='text-center'><?php echo $MSG_USER?></td>
<td class='text-center'><?php echo $MSG_NICK?></td>
<td class='text-center'><?php echo $MSG_SOVLED?></td>
<td class='text-center'><?php echo $MSG_CONTEST_PENALTY?></td>
<?php
for ($i=0;$i<$pid_cnt;$i++)
echo "<th><a href=problem.php?cid=$cid&pid=$i>$PID[$i]</a></th>";
?>
<th></th>
</tr>
</thead>
<tbody>
<?php
$rank=1;
if(isset($_GET['down']))
$tag="b";
else
$tag="div";
for ($i=0;$i<$user_cnt;$i++){
$uuid=$U[$i]->user_id;
$nick=$U[$i]->nick;
$usolved=$U[$i]->solved;
echo "<tr onclick='$(this).attr(\"class\",\"active\");' ondblclick='$(this).attr(\"class\",\"\");' >";
echo "<td>";
if(isset($nick[0])&&$nick[0]!="*"){
if($rank==1)
echo "<div class=\"ui yellow ribbon label\">";
else if($rank==2)
echo "<div class=\"ui ribbon label\">";
else if($rank==3)
echo "<div class=\"ui brown ribbon label\" style=\"background-color: #C47222 !important;\">";
else
echo "<div>";
echo $rank++;
echo "</div>";
}
else
echo "*";
echo "</td>";
if(isset($_GET['user_id'])&&$uuid==$_GET['user_id'])
echo "<td bgcolor=#ffff77>";
else
echo "<td>";
echo "<a name=\"$uuid\" href=userinfo.php?user=$uuid>$uuid</a>";
echo "</td>";
echo "<td>";
echo "<a href=userinfo.php?user=$uuid>".htmlentities($U[$i]->nick,ENT_QUOTES,"UTF-8")."</a>";
echo "</td>";
echo "<td>";
echo "<span class=\"score\">";
echo "<a href=status.php?user_id=$uuid&cid=$cid>$usolved</a>";
echo "</span>";
echo "</td>";
echo "<td>";
echo sec2str($U[$i]->time);
echo "</td>";
for ($j=0;$j<$pid_cnt;$j++){
if(isset($U[$i])){
if (isset($U[$i]->p_ac_sec[$j])&&$U[$i]->p_ac_sec[$j]>0){
if($uuid==$first_blood[$j]){
echo "<td style=\"background: rgb(".(150+12*$U[$i]->p_wa_num[$j]).", 255, ".(150+8*$U[$i]->p_wa_num[$j])."); position:relative;\">";
echo "<$tag style=\"position:absolute;width:30%;margin-top: 5%;margin-right: 5%;height:30%;right:0px;top:0px;\">※1st</$tag>";
}
else{
echo "<td style=\"background: rgb(".(150+12*$U[$i]->p_wa_num[$j]).", 255, ".(150+8*$U[$i]->p_wa_num[$j])."); \">";
}
if (isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0)
{
echo "<span class=\"score score_10\">";
echo "+".$U[$i]->p_wa_num[$j]."";
echo "</span>";
}else{
echo "<span class=\"score score_10\">";
echo "+";
echo "</span>";
}
echo "<$tag class=\"submit_time\">";
echo sec2str($U[$i]->p_ac_sec[$j]);
echo "</$tag>";
}
else if (isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0){
echo "<td style=\"background: rgb(255, ".(240-9*$U[$i]->p_wa_num[$j]).", ".(240-9*$U[$i]->p_wa_num[$j])."); \">";
echo "<span class=\"score score_0\">";
echo "-".$U[$i]->p_wa_num[$j]."";
echo "</span>";
}
else{
echo "<td>";
}
}
else{
echo "<td>";
}
echo "</td>";
}
echo "</tr>";
}
?>
</tbody>
</table>
<?php }else{ ?>
<div style="background-color: #fff; height: 18px; margin-top: -18px; "></div>
<div class="ui placeholder segment" style="margin-top: 0px; ">
<div class="ui icon header">
<i class="ui file icon" style="margin-bottom: 20px; "></i>
暂无选手提交
</div>
</div>
<?php } ?>
<?php
if(!empty($absent)){
?>
<div style="background-color: #fff; height: 18px; margin-top: -18px; "></div>
<div class="ui segment" style="margin: 50px; ">
<?php echo "$MSG_ABSENT"; ?>
<div class="ui list">
<?php
foreach($absent as $a){
$uid=htmlentities($a['user_id'],ENT_QUOTES,"UTF-8");
echo "<a href='userinfo.php?user=".$uid."' >$uid</a> &nbsp;";
}
?>
</div>
</div>
<?php } ?>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,370 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
<title><?php echo $OJ_NAME?></title>
<?php include("template/$OJ_TEMPLATE/css.php");?>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="template/<?php echo $OJ_TEMPLATE?>/js/html5shiv.js"></script>
<script src="template/<?php echo $OJ_TEMPLATE?>/js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<?php include("template/$OJ_TEMPLATE/nav.php");?>
<!-- Main component for a primary marketing message or call to action -->
<div id="rankdiv" class="padding" onclick="$(this).css('margin-left',(548-window.innerWidth/2)+'px').css('margin-right',(548-window.innerWidth/2)+'px')" style="margin-left:-200px;margin-right:-200px;overflow:auto" >
<?php
$rank=1;
?>
<center><h3>Contest RankList -- <?php echo $title?></h3><a href="contestrank.xls.php?cid=<?php echo $cid?>" >Download</a></center>
<table id=rank <?php if (isset($_GET['down'])) echo "border=1" ?>
><thead><tr class=toprow align=center><td class="{sorter:'false'}" width=5%>Rank<th width=10%>User</th><th width=10%>Nick</th><th width=5%>Solved</th><th width=5%>Penalty</th>
<?php
for ($i=0;$i<$pid_cnt;$i++)
echo "<td><a href=problem.php?cid=$cid&pid=$i>$PID[$i]</a></td>";
echo "</tr></thead>\n<tbody>";
if(false)for ($i=0;$i<$user_cnt;$i++){
if ($i&1) echo "<tr class=oddrow align=center>\n";
else echo "<tr class=evenrow align=center>\n";
echo "<td>";
$uuid=$U[$i]->user_id;
$nick=$U[$i]->nick;
if($nick[0]!="*")
echo $rank++;
else
echo "*";
$usolved=$U[$i]->solved;
if(isset($_GET['user_id'])&&$uuid==$_GET['user_id']) echo "<td bgcolor=#ffff77>";
else echo"<td>";
echo "<a name=\"$uuid\" href=userinfo.php?user=$uuid>$uuid</a>";
echo "<td><a href=userinfo.php?user=$uuid>".htmlentities($U[$i]->nick,ENT_QUOTES,"UTF-8")."</a>";
echo "<td><a href=status.php?user_id=$uuid&cid=$cid>$usolved</a>";
echo "<td>".sec2str($U[$i]->time);
for ($j=0;$j<$pid_cnt;$j++){
$bg_color="eeeeee";
if (isset($U[$i]->p_ac_sec[$j])&&$U[$i]->p_ac_sec[$j]>0){
$aa=0x33+$U[$i]->p_wa_num[$j]*32;
$aa=$aa>0xaa?0xaa:$aa;
$aa=dechex($aa);
$bg_color="$aa"."ff"."$aa";
//$bg_color="aaffaa";
if($uuid==$first_blood[$j]){
$bg_color="aaaaff";
}
}else if(isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0) {
$aa=0xaa-$U[$i]->p_wa_num[$j]*10;
$aa=$aa>16?$aa:16;
$aa=dechex($aa);
$bg_color="ff$aa$aa";
}
echo "<td class=well style='background-color:#$bg_color'>";
if(isset($U[$i])){
if (isset($U[$i]->p_ac_sec[$j])&&$U[$i]->p_ac_sec[$j]>0)
echo sec2str($U[$i]->p_ac_sec[$j]);
if (isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0)
echo "(-".$U[$i]->p_wa_num[$j].")";
}
}
echo "</tr>\n";
}
echo "</tbody></table>";
?>
</div>
</div> <!-- /container -->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<?php include("template/$OJ_TEMPLATE/js.php");?>
<script type="text/javascript" src="include/jquery.tablesorter.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$.tablesorter.addParser({
// set a unique id
id: 'punish',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
// format your data for normalization
var v=s.toLowerCase().replace(/\:/,'').replace(/\:/,'').replace(/\(-/,'.').replace(/\)/,'');
//alert(v);
v=parseFloat('0'+v);
return v>1?v:v+Number.MAX_VALUE-1;
},
// set type, either numeric or text
type: 'numeric'
});
$("#rank").tablesorter({
headers: {
4: {
sorter:'punish'
}
<?php
for ($i=0;$i<$pid_cnt;$i++){
echo ",".($i+5).": { ";
echo " sorter:'punish' ";
echo "}";
}
?>
}
});
}
);
</script>
<script>
function getTotal(rows){
var total=0;
return rows.length-1;
for(var i=0;i<rows.length&&total==0;i++){
try{
total=parseInt(rows[rows.length-i].cells[0].innerHTML);
if(isNaN(total)) total=0;
}catch(e){
}
}
return total;
}
function metal(){
var tb=window.document.getElementById('rank');
var rows=tb.rows;
try{
var total=getTotal(rows);
//alert(total);
for(var i=1;i<rows.length;i++){
var cell=rows[i].cells[0];
var acc=rows[i].cells[3];
var ac=parseInt(acc.innerHTML);
if (isNaN(ac)) ac=parseInt(acc.textContent);
if(cell.innerHTML!="*"&&ac>0){
var r=i;
if(r==1){
cell.innerHTML="Winner";
//cell.style.cssText="background-color:gold;color:red";
cell.className="badge btn-warning";
}else{
cell.innerHTML=r;
}
if(r>1&&r<=total*.05+1)
cell.className="badge btn-warning";
if(r>total*.05+1&&r<=total*.20+1)
cell.className="badge";
if(r>total*.20+1&&r<=total*.45+1)
cell.className="badge btn-danger";
if(r>total*.45+1&&ac>0)
cell.className="badge badge-info";
}
}
}catch(e){
alert(e);
}
}
metal();
replay();
<?php if (isset($solution_json)) echo "var solutions=$solution_json;"?>
var replay_index=0;
function replay(){
replay_index=0;
window.setTimeout("add()",1000);
}
function add(){
if(replay_index>=solutions.length) return metal();
var solution=solutions[replay_index];
var tab=$("#rank");
var row=findrow(tab,solution);
if(row==null)
tab.append(newrow(tab,solution));
row=findrow(tab,solution);
update(tab,row,solution);
replay_index++;
sort(tab[0].rows);
metal();
window.setTimeout("add()",5);
}
function sec2str(sec){
var ret="";
if(sec<36000) ret="0" ;
ret+=parseInt(sec/3600);
ret+=":";
if(sec%3600/60<10) ret+="0" ;
ret+=parseInt(sec%3600/60);
ret+=":";
if(sec%60<10) ret+="0";
ret+=parseInt(sec%60);
return ret;
}
function str2sec(str){
var s=str.split(":");
var h=parseInt(s[0]);
var m=parseInt(s[1]);
var s=parseInt(s[2]);
return h*3600+m*60+s;
}
function colorful(td,ac,num){
if(num<0) num=-num;else num=0;
num*=10
if(num>255) num=255;
if(ac&&num>200) num=200;
var rb=ac?num:255-num;
if(ac){
// td.className="well green";
td.style="background-color: rgb("+rb+",255,"+rb+");";
}else{
td.style="background-color: rgb(255,"+rb+","+rb+");";
}
}
function update(tab,row,solution){
var col=parseInt(solution["num"])+5;
var old=row.cells[col].innerHTML;
var time=0;
if(old!="") time=parseInt(old);
if(!(old.charAt(0)=='-'||old=='')) return;
if(parseInt(solution["result"])==4){
if(old.charAt(0)=='-'||old=='') {
var pt=time;
time= parseInt(solution["in_date"])-time*1200;
penalty=str2sec(row.cells[4].innerHTML);
penalty+=time;
row.cells[4].innerHTML=sec2str(penalty);
row.cells[col].innerHTML=sec2str( parseInt(solution["in_date"]));
if(pt!=0)
row.cells[col].innerHTML+="("+pt+")";
colorful(row.cells[col],true,pt);
}else{
if(row.cells[col].className=="well green");
}
row.cells[3].innerHTML=parseInt(row.cells[3].innerHTML)+1;
}else{
time--;
row.cells[col].innerHTML=time;
colorful(row.cells[col],false,time);
}
/*
if(parseInt(solution["result"])==4){
if(row.cells[col].className!="well green"){
}
row.cells[col].className="well green";
}else{
if(row.cells[col].className!="well green")
row.cells[col].className="well red";
}
*/
}
function sort(rows){
for(var i=1;i<rows.length;i++){
for(var j=1;j<i;j++){
if(cmp(rows[i],rows[j])){
swapNode(rows[i],rows[j]);
}
}
}
}
function swapNode(node1,node2)
{
var parent = node1.parentNode;//父节点
var t1 = node1.nextSibling;//两节点的相对位置
var t2 = node2.nextSibling;
$(node1).fadeToggle("slow");
$(node2).fadeToggle("slow");
//如果是插入到最后就用appendChild
if(t1) parent.insertBefore(node2,t1);
else parent.appendChild(node2);
if(t2) parent.insertBefore(node1,t2);
else parent.appendChild(node1);
$(node1).fadeToggle("slow");
$(node2).fadeToggle("slow");
}
function cmp(a,b){
if(parseInt(a.cells[3].innerHTML)>parseInt(b.cells[3].innerHTML))
return true;
if(parseInt(a.cells[3].innerHTML)==parseInt(b.cells[3].innerHTML))
return str2sec(a.cells[4].innerHTML)<str2sec(b.cells[4].innerHTML);
}
function trim(str){ //删除左右两端的空格
   return str.replace(/(^\s*)|(\s*$)/g, "");
   }
function newrow(tab,solution){
var row="<tr><td></td><td>"+solution['user_id']+"</td>";
row+="<td>"+trim(solution['nick'])+"</td>";
row+="<td>";
var css="grey";
var time=0;
if(solution['result']==4){
row+="1";
time=solution['in_date'];
count=sec2str( time);
css="well green";
} else{
row+="0";
css="well red";
count=-1;
}
row+="</td>";
var n=tab[0].rows[0].cells.length;
row+="<td>"+sec2str(time)+"</td>";
for(var i=5;i<n;i++) {
if(i-5==solution['num'])
row+="<td class='"+css+"'>"+count+"</td>";
else
row+="<td></td>";
}
row+="</tr>";
return row;
}
function findrow(tab,solution){
var rows=tab[0].rows;
for(var i=0;i<rows.length;i++){
if(rows[i].cells[1].innerHTML==solution['user_id'])
return rows[i];
}
return null;
}
</script>
<style>
.well{
background-image:none;
padding:1px;
}
td{
white-space:nowrap;
}
.red{
background-color:#ffa0a0;
}
.green{
background-color:#33ff33;
}
</style>
</body>
</html>

View File

@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
<link rel="stylesheet" type="text/css" href="template/<?php echo $OJ_TEMPLATE?>/scrollboard.css">
<title><?php echo $OJ_NAME?></title>
<?php
$OJ_TEMPLATE="bs3";
include("template/$OJ_TEMPLATE/css.php");?>
</head>
<body>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<?php include("template/$OJ_TEMPLATE/js.php");?>
<script type="text/javascript" src="include/jquery.tablesorter.js?v=0.1"></script>
<script type="text/javascript" src="template/<?php echo $OJ_TEMPLATE?>/scrollboard.js?v=0.09"></script>
<script type="text/javascript">
var board = new Board(<?php echo $problem_num?>, new Array(<?php echo $gold_num?>, <?php echo $silver_num?>, <?php echo $bronze_num?>),StringToDate("<?php echo $start_time_str?>"), StringToDate("<?php echo $lock_time_str?>"),<?php echo $cid?>);
board.showInitBoard();
$('html').click(function(e) {
board.keydown();
});
$('html').keydown(function(e) {
if(e.keyCode==13)
board.keydown();
});
</script>
</body>
</html>

View File

@@ -0,0 +1,146 @@
<?php $show_title="Contest RankList -- ".$title." - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<style>
.submit_time {
font-size: 0.8em;
margin-top: 5px;
color: #000;
}
</style>
<div style="margin-bottom:40px; ">
<h1 style="text-align: left;">Contest<?php echo $cid?> - <?php echo $title?> - <?php echo $MSG_REVIEW_CONTESTRANK ?>
<button class='ui small yellow button' onclick='$("tr[class!=active]").toggle();'><?php echo $MSG_SHOW ?>/<?php echo $MSG_HIDE ?></button>
<a class='ui small blue button' href="contestrank.php?cid=<?php echo $cid?>" ><?php echo $MSG_BACK ?></a>
</h1>
</div>
<div id="rankdiv" class="padding" onclick="$(this).css('margin-left',(548-window.innerWidth/2)+'px').css('margin-right',(548-window.innerWidth/2)+'px')" style="margin-left:-200px;margin-right:-200px;overflow:auto" >
<?php if($user_cnt>0){ ?>
<table <?php if (isset($_GET['down'])) echo "border=1" ?>
class="ui very basic center aligned table" style="margin:30px">
<thead>
<tr class='active'>
<td class="{sorter:'false'} text-center"><?php echo $MSG_STANDING?></td>
<td class='text-center'><?php echo $MSG_USER?></td>
<td class='text-center'><?php echo $MSG_NICK?></td>
<td class='text-center'><?php echo $MSG_SOVLED?></td>
<td class='text-center'><?php echo $MSG_CONTEST_PENALTY?></td>
<?php
for ($i=0;$i<$pid_cnt;$i++)
echo "<th><a href=problem.php?id=".$pida[$i].">$PID[$i]</a></th>";
?>
</tr>
</thead>
<tbody>
<?php
$rank=1;
for ($i=0;$i<$user_cnt;$i++){
$uuid=$U[$i]->user_id;
$nick=$U[$i]->nick;
$usolved=$U[$i]->solved;
echo "<tr onclick='$(this).attr(\"class\",\"active\");' ondblclick='$(this).attr(\"class\",\"\");' >";
echo "<td>";
if($nick[0]!="*"){
if($rank==1)
echo "<div class=\"ui yellow ribbon label\">";
else if($rank==2)
echo "<div class=\"ui ribbon label\">";
else if($rank==3)
echo "<div class=\"ui brown ribbon label\" style=\"background-color: #C47222 !important;\">";
else
echo "<div>";
echo $rank++;
echo "</div>";
}
else
echo "*";
echo "</td>";
if(isset($_GET['user_id'])&&$uuid==$_GET['user_id'])
echo "<td bgcolor=#ffff77>";
else
echo "<td>";
echo "<a name=\"$uuid\" href=userinfo.php?user=$uuid>$uuid</a>";
echo "</td>";
echo "<td>";
echo "<a href=userinfo.php?user=$uuid>".htmlentities($U[$i]->nick,ENT_QUOTES,"UTF-8")."</a>";
echo "</td>";
echo "<td>";
echo "<span class=\"score\">";
echo "<a href=status.php?user_id=$uuid&cid=$cid>$usolved</a>";
echo "</span>";
echo "</td>";
echo "<td>";
echo sec2str($U[$i]->time);
echo "</td>";
for ($k=0;$k<$pid_cnt;$k++){
$j=$pida[$k];
//echo "$j";
if(isset($U[$i])){
if (isset($U[$i]->p_ac_sec[$j])&&$U[$i]->p_ac_sec[$j]>0){
if($uuid==$first_blood[$j]){
echo "<td style=\"background: rgb(".(150+12*$U[$i]->p_wa_num[$j]).", 255, ".(150+8*$U[$i]->p_wa_num[$j])."); position:relative;\">";
echo "<div style=\"position:absolute;width:30%;margin-top: 5%;margin-right: 5%;height:30%;right:0px;top:0px;\">※1st</div>";
}
else{
echo "<td style=\"background: rgb(".(150+12*$U[$i]->p_wa_num[$j]).", 255, ".(150+8*$U[$i]->p_wa_num[$j])."); \">";
}
if (isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0)
{
echo "<span class=\"score score_10\">";
echo "+".$U[$i]->p_wa_num[$j]."";
echo "</span>";
}else{
echo "<span class=\"score score_10\">";
echo "+";
echo "</span>";
}
echo "<div class=\"submit_time\">";
echo sec2str($U[$i]->p_ac_sec[$j]);
echo "</div>";
}
else if (isset($U[$i]->p_wa_num[$j])&&$U[$i]->p_wa_num[$j]>0){
echo "<td style=\"background: rgb(255, ".(240-9*$U[$i]->p_wa_num[$j]).", ".(240-9*$U[$i]->p_wa_num[$j])."); \">";
echo "<span class=\"score score_0\">";
echo "-".$U[$i]->p_wa_num[$j]."";
echo "</span>";
}
else{
echo "<td>";
}
}
else{
echo "<td>";
}
echo "</td>";
}
echo "</tr>";
}
?>
</tbody>
</table>
<?php }else{ ?>
<div style="background-color: #fff; height: 18px; margin-top: -18px; "></div>
<div class="ui placeholder segment" style="margin-top: 0px; ">
<div class="ui icon header">
<i class="ui file icon" style="margin-bottom: 20px; "></i>
暂无选手提交
</div>
</div>
<?php } ?>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,138 @@
<?php $show_title = "Contest RankList - " . $title . " - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php"); ?>
<style>
.submit_time {
font-size: 0.8em;
margin-top: 5px;
color: #000;
}
</style>
<div style="margin-bottom:40px; ">
<h1 style="text-align:left;">Contest<?php echo $cid ?> -- <?php echo $title ?> -- <?php echo $MSG_REVIEW_CONTESTRANK ?>
<button class='ui small yellow button' onclick='$("tr[class!=active]").toggle();'><?php echo $MSG_SHOW ?>/<?php echo $MSG_HIDE ?></button>
<a class='ui small blue button' href="contestrank-oi.php?cid=<?php echo $cid?>" ><?php echo $MSG_BACK ?></a>
</h1>
</div>
<div id="rankdiv" class="padding" onclick="$(this).css('margin-left',(548-window.innerWidth/2)+'px').css('margin-right',(548-window.innerWidth/2)+'px')" style="margin-left:-200px;margin-right:-200px;overflow:auto" >
<?php if ($user_cnt > 0) { ?>
<table class="ui very basic center aligned table" style="margin:30px">
<thead>
<tr class='active'>
<td class="{sorter:'false'} text-center"><?php echo $MSG_STANDING?></td>
<td class='text-center'><?php echo $MSG_USER?></td>
<td class='text-center'><?php echo $MSG_NICK?></td>
<td class='text-center'><?php echo $MSG_SOVLED?></td>
<td class='text-center'><?php echo $MSG_CONTEST_PENALTY?></td>
<td class='text-center'><?php echo $MSG_MARK ?></td>
<?php
for ($i = 0; $i < $pid_cnt; $i++)
echo "<th><a href=problem.php?id=".$pida[$i].">$PID[$i]</a></th>";
?>
</tr>
</thead>
<tbody>
<?php
$rank = 1;
for ($i = 0; $i < $user_cnt; $i++) {
$uuid = $U[$i]->user_id;
$nick = $U[$i]->nick;
$usolved = $U[$i]->solved;
echo "<tr onclick='$(this).attr(\"class\",\"active\");' ondblclick='$(this).attr(\"class\",\"\");' >";
echo "<td>";
if ($nick[0] != "*") {
if ($rank == 1)
echo "<div class=\"ui yellow ribbon label\">";
else if ($rank == 2)
echo "<div class=\"ui ribbon label\">";
else if ($rank == 3)
echo "<div class=\"ui brown ribbon label\" style=\"background-color: #C47222 !important;\">";
else
echo "<div>";
echo $rank++;
echo "</div>";
} else
echo "*";
echo "</td>";
if (isset($_GET['user_id']) && $uuid == $_GET['user_id'])
echo "<td bgcolor=#ffff77>";
else
echo "<td>";
echo "<a name=\"$uuid\" href=userinfo.php?user=$uuid>$uuid</a>";
echo "</td>";
echo "<td>";
echo htmlentities($U[$i]->nick, ENT_QUOTES, "UTF-8");
echo "</td>";
echo "<td>";
echo htmlentities($U[$i]->solved, ENT_QUOTES, "UTF-8");
echo "</td>";
echo "<td>";
echo sec2str($U[$i]->time);
echo "</td>";
echo "<td class='ui small header'>";
echo "<a href=status.php?user_id=$uuid&cid=$cid>" . ($U[$i]->total) . "</a>";
echo "</td>";
for ($k=0;$k<$pid_cnt;$k++){
$j=$pida[$k];
if (isset($U[$i])) {
if (isset($U[$i]->p_ac_sec[$j]) && $U[$i]->p_ac_sec[$j] > 0) {
if ($uuid == $first_blood[$j]) {
echo "<td style=\"background: rgb(" . (150 + 12 * $U[$i]->p_wa_num[$j]) . ", 255, " . min(230, 150 + 8 * $U[$i]->p_wa_num[$j]) . "); position:relative;\">";
echo "<div style=\"position:absolute;width:30%;margin-top: 5%;margin-right: 5%;height:30%;right:0px;top:0px;\"> <font color='red'>※1st</font></div>";
} else {
echo "<td style=\"background: rgb(" . (150 + 12 * $U[$i]->p_wa_num[$j]) . ", 255, " . min(230, 150 + 8 * $U[$i]->p_wa_num[$j]) . "); \">";
}
if (isset($U[$i]->p_wa_num[$j]) && $U[$i]->p_wa_num[$j] > 0) {
echo "<span class=\"score score_10\">";
echo $U[$i]->p_pass_rate[$j]*100;
echo "</span>";
} else {
echo "<span class=\"score score_10\">";
echo $U[$i]->p_pass_rate[$j]*100;
echo "</span>";
}
echo "<div class=\"submit_time\">";
echo sec2str($U[$i]->p_ac_sec[$j]);
echo "</div>";
} else if (isset($U[$i]->p_wa_num[$j]) && $U[$i]->p_wa_num[$j] > 0) {
echo "<td style=\"background: rgb(255, " . max(130, 240 - 9 * $U[$i]->p_wa_num[$j]) . ", " . max(130, 240 - 9 * $U[$i]->p_wa_num[$j]) . "); \">";
echo "<span class=\"score score_0\">";
echo $U[$i]->p_pass_rate[$j] * 100;
echo "</span>";
} else {
echo "<td>";
}
} else {
echo "<td>";
}
echo "</td>";
}
echo "</tr>";
}
?>
</tbody>
</table>
<?php } else { ?>
<div style="background-color: #fff; height: 18px; margin-top: -18px; "></div>
<div class="ui placeholder segment" style="margin-top: 0px; ">
<div class="ui icon header">
<i class="ui file icon" style="margin-bottom: 20px; "></i>
暂无选手提交
</div>
</div>
<?php } ?>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php"); ?>

View File

@@ -0,0 +1,86 @@
<?php $show_title="$MSG_CONTEST - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<div class="padding">
<div class="ui grid" style="margin-bottom: 10px; ">
<div class="row" style="white-space: nowrap; ">
<div class="seven wide column">
<form method=post action=contest.php >
<div class="ui search" style="width: 280px; height: 28px; margin-top: -5.3px; ">
<div class="ui left icon input" style="width: 100%; ">
<input class="prompt" style="width: 100%; " type="text" value="" placeholder=" <?php echo $MSG_CONTEST_NAME ?> …" name="keyword">
<i class="search icon"></i>
<a class="ui button" href="contest.php" ><?php echo $MSG_VIEW_ALL_CONTESTS ?></a>
</div>
<div class="results" style="width: 100%; "></div>
</div>
</form>
</div>
<div class="nine wide right aligned column">
</div>
</div>
</div>
<div style="margin-bottom: 30px; ">
<?php
if(!isset($page)) $page=1;
$page=intval($page);
$section=8;
$start=$page>$section?$page-$section:1;
$end=$page+$section>$view_total_page?$view_total_page:$page+$section;
$MY=isset($_GET['my'])?"&my":"";
?>
<div style="text-align: center; ">
<div class="ui pagination menu" style="box-shadow: none; ">
<a class="<?php if($page==1) echo "disabled "; ?>icon item" href="<?php if($page<>1) echo "contest.php?page=".strval($page-1).$MY ?>" id="page_prev">
<i class="left chevron icon"></i>
</a>
<?php
for ($i=$start;$i<=$end;$i++){
echo "<a class=\"".($page==$i?"active ":"")."item\" href=\"contest.php?page=".$i.$MY."\">".$i."</a>";
}
?>
<a class="<?php if($page==$view_total_page) echo "disabled "; ?> icon item" href="<?php if($page<>$view_total_page) echo "contest.php?page=".strval($page+1).$MY; ?>" id="page_next">
<i class="right chevron icon"></i>
</a>
</div>
</div>
</div>
<table class="ui very basic center aligned table">
<thead>
<tr>
<th><?php echo $MSG_CONTEST_ID?></th>
<th><?php echo $MSG_CONTEST_NAME?></th>
<th><?php echo $MSG_TIME?></th>
<th><?php echo $MSG_CONTEST_OPEN?></th>
<th><?php echo $MSG_CONTEST_CREATOR?></th>
</tr>
</thead>
<tbody>
<?php
foreach($view_contest as $row){
echo "<tr>";
foreach($row as $table_cell){
echo "<td>";
echo "\t".$table_cell;
echo "</td>";
}
echo "</tr>";
}
?>
<!-- <td><a href="<%= syzoj.utils.makeUrl(['contest', contest.id]) %>"><%= contest.title %> <%- tag %></a></td>
<td><%= syzoj.utils.formatDate(contest.start_time) %></td>
<td><%= syzoj.utils.formatDate(contest.end_time) %></td>
<td class="font-content"><%- contest.subtitle %></td> -->
</tbody>
</table>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,378 @@
<?php
$show_title="$MSG_STATISTICS - $OJ_NAME";
include("template/$OJ_TEMPLATE/header.php");
?>
<div class="padding">
<?php
function formatTimeLength($length) {
$hour = 0;
$minute = 0;
$second = 0;
$result = '';
global $MSG_SECONDS, $MSG_MINUTES, $MSG_HOURS, $MSG_DAYS;
if ($length>=60) {
$second = $length%60;
if ($second>0 && $second<10) {
$result = '0'.$second.' '.$MSG_SECONDS;}
else if ($second>0) {
$result = $second.' '.$MSG_SECONDS;
}
$length = floor($length/60);
if ($length >= 60) {
$minute = $length%60;
if ($minute==0) {
if ($result != '') {
$result = '00'.' '.$MSG_MINUTES.' '.$result;
}
}
else if ($minute>0 && $minute<10) {
if ($result != '') {
$result = '0'.$minute.' '.$MSG_MINUTES.' '.$result;}
}
else {
$result = $minute.' '.$MSG_MINUTES.' '.$result;
}
$length = floor($length/60);
if ($length >= 24) {
$hour = $length%24;
if ($hour==0) {
if ($result != '') {
$result = '00'.' '.$MSG_HOURS.' '.$result;
}
}
else if ($hour>0 && $hour<10) {
if($result != '') {
$result = '0'.$hour.' '.$MSG_HOURS.' '.$result;
}
}
else {
$result = $hour.' '.$MSG_HOURS.' '.$result;
}
$length = floor($length / 24);
$result = $length .$MSG_DAYS.' '.$result;
}
else {
$result = $length.' '.$MSG_HOURS.' '.$result;
}
}
else {
$result = $length.' '.$MSG_MINUTES.' '.$result;
}
}
else {
$result = $length.' '.$MSG_SECONDS;
}
return $result;
}
?>
<?php
if (isset($_GET['cid'])) {
$cid = intval($_GET['cid']);
$view_cid = $cid;
//print $cid;
//check contest valid
$sql = "SELECT * FROM `contest` WHERE `contest_id`=?";
$result = pdo_query($sql,$cid);
$rows_cnt = count($result);
$contest_ok = true;
$password = "";
if (isset($_POST['password']))
$password = $_POST['password'];
if (false) {
$password = stripslashes($password);
}
if ($rows_cnt==0) {
$view_title = "比赛已经关闭!";
}
else{
$row = $result[0];
$view_private = $row['private'];
if ($password!="" && $password==$row['password'])
$_SESSION[$OJ_NAME.'_'.'c'.$cid] = true;
if ($row['private'] && !isset($_SESSION[$OJ_NAME.'_'.'c'.$cid]))
$contest_ok = false;
if($row['defunct']=='Y')
$contest_ok = false;
if (isset($_SESSION[$OJ_NAME.'_'.'administrator']))
$contest_ok = true;
$now = time();
$start_time = strtotime($row['start_time']);
$end_time = strtotime($row['end_time']);
$view_description = $row['description'];
$view_title = $row['title'];
$view_start_time = $row['start_time'];
$view_end_time = $row['end_time'];
}
}
?>
<?php if (isset($_GET['cid'])) {?>
<center>
<div>
<h3><?php echo $MSG_CONTEST_ID?> : <?php echo $view_cid?> - <?php echo $view_title ?></h3>
<p>
<?php echo $view_description?>
</p>
<br>
<?php echo $MSG_SERVER_TIME?> : <span id=nowdate > <?php echo date("Y-m-d H:i:s")?></span>
<br>
<?php if (isset($OJ_RANK_LOCK_PERCENT)&&$OJ_RANK_LOCK_PERCENT!=0) { ?>
Lock Board Time: <?php echo date("Y-m-d H:i:s", $view_lock_time) ?><br/>
<?php } ?>
<?php if ($now>$end_time) {
echo "<span class=text-muted>$MSG_Ended</span>";
}
else if ($now<$start_time) {
echo "<span class=text-success>$MSG_Start&nbsp;</span>";
echo "<span class=text-success>$MSG_TotalTime</span>"." ".formatTimeLength($end_time-$start_time);
}
else {
echo "<span class=text-danger>$MSG_Running</span>&nbsp;";
echo "<span class=text-danger>$MSG_LeftTime</span>"." ".formatTimeLength($end_time-$now);
}
?>
<br><br>
<?php echo $MSG_CONTEST_STATUS?> :
<?php
if ($now>$end_time)
echo "<span class=text-muted>".$MSG_End."</span>";
else if ($now<$start_time)
echo "<span class=text-success>".$MSG_Start."</span>";
else
echo "<span class=text-danger>".$MSG_Running."</span>";
?>
&nbsp;&nbsp;
<?php echo $MSG_CONTEST_OPEN?> :
<?php if ($view_private=='0')
echo "<span class=text-primary>".$MSG_Public."</span>";
else
echo "<span class=text-danger>".$MSG_Private."</span>";
?>
<br>
<?php echo $MSG_START_TIME?> : <?php echo $view_start_time?>
<br>
<?php echo $MSG_END_TIME?> : <?php echo $view_end_time?>
<br><br>
<div class="btn-group">
<a href="contest.php?cid=<?php echo $cid?>" class="btn btn-primary btn-sm"><?php echo $MSG_PROBLEMS?></a>
<a href="status.php?cid=<?php echo $view_cid?>" class="btn btn-primary btn-sm"><?php echo $MSG_SUBMIT?></a>
<a href="contestrank.php?cid=<?php echo $view_cid?>" class="btn btn-primary btn-sm"><?php echo $MSG_STANDING?></a>
<a href="contestrank-oi.php?cid=<?php echo $view_cid?>" class="btn btn-primary btn-sm"><?php echo "OI".$MSG_STANDING?></a>
<a href="conteststatistics.php?cid=<?php echo $view_cid?>" class="btn btn-primary btn-sm"><?php echo $MSG_STATISTICS?></a>
<?php if(isset($_SESSION[$OJ_NAME.'_'.'administrator']) || isset($_SESSION[$OJ_NAME.'_'.'contest_creator'])) {?>
<a href="suspect_list.php?cid=<?php echo $view_cid?>" class="btn btn-warning btn-sm"><?php echo $MSG_IP_VERIFICATION?></a>
<a href="user_set_ip.php?cid=<?php echo $view_cid?>" class="btn btn-success btn-sm"><?php echo $MSG_SET_LOGIN_IP?></a>
<a target="_blank" href="../../admin/contest_edit.php?cid=<?php echo $view_cid?>" class="btn btn-success btn-sm"><?php echo "EDIT"?></a>
<?php } ?>
</div>
</div>
</center>
<?php }
?>
<br>
<center>
<h4><?php if (isset($locked_msg)) echo $locked_msg;?></h4>
<table id=cs class="table-hover table-striped" align=center width=90% border=0>
<thead>
<tr class=toprow>
<th class='text-center'></th>
<th class='text-center'>AC</th>
<th class='text-center'>PE</th>
<th class='text-center'>WA</th>
<th class='text-center'>TLE</th>
<th class='text-center'>MLE</th>
<th class='text-center'>OLE</th>
<th class='text-center'>RE</th>
<th class='text-center'>CE</th>
<th class='text-center'>TR</th>
<th class='text-center'>|</th>
<th class='text-center'>Total</th>
<?php
$i = 0;
foreach ($language_name as $lang) {
if (isset($R[$pid_cnt][$i+11]) )
echo "<th class='text-center'>$language_name[$i]</th>";
else
echo "";//"<th class='text-center'></th>";
$i++;
}
?>
</tr>
</thead>
<tbody>
<?php
for ($i=0; $i<$pid_cnt; $i++) {
if(!isset($PID[$i]))
$PID[$i] = "";
if ($i&1)
echo "<tr class='oddrow'>";
else
echo "<tr class='evenrow'>";
if (time()<$end_time) { //during contest/exam time
echo "<td class='text-center'><a href=problem.php?cid=$cid&pid=$i>$PID[$i]</a></td>";
}
else { //over contest/exam time
//check the problem will be use remained contest/exam
$sql = "SELECT `problem_id` FROM `contest_problem` WHERE (`contest_id`=? AND `num`=?)";
$tresult = pdo_query($sql, $cid, $i);
$tpid = $tresult[0][0];
$sql = "SELECT `problem_id` FROM `problem` WHERE `problem_id`=? AND `problem_id` IN (
SELECT `problem_id` FROM `contest_problem` WHERE `contest_id` IN (
SELECT `contest_id` FROM `contest` WHERE (`defunct`='N' AND now()<`end_time`)
)
)";
$tresult = pdo_query($sql, $tpid);
if (intval($tresult) != 0) //if the problem will be use remained contes/exam */
echo "<td class='text-center'>$PID[$i]</td>";
else
echo "<td class='text-center'><a href='problem.php?id=".$tpid."'>".$PID[$i]."</a></td>";
}
for ($j=0; $j<count($language_name)+11; $j++) {
// if (!isset($R[$i][$j]))
// $R[$i][$j]="";
if ($j<11 || isset($R[$pid_cnt][$j]) )
echo "<td class='text-center'>".$R[$i][$j]."</td>";
}
echo "</tr>";
}
echo "<tr class='evenrow'>";
echo "<td class='text-center'>Total</td>";
for ($j=0 ; $j<count($language_name)+ 11; $j++) {
// if(!isset($R[$i][$j]))
// $R[$i][$j]="";
if ($j<11 || isset($R[$pid_cnt][$j]) )
echo "<td class='text-center'>".$R[$i][$j]."</td>";
}
echo "</tr>";
?>
</tbody>
</table>
<br><br>
<table>
<div id=submission style="width:600px;height:300px" ></div>
</table>
</center>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script type="text/javascript" src="include/jquery.tablesorter.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#cs").tablesorter();
}
);
</script>
<script language="javascript" type="text/javascript" src="include/jquery.flot.js"></script>
<script type="text/javascript">
$(function () {
var d1 = [];
var d2 = [];
<?php
foreach($chart_data_all as $k=>$d){
?>
d1.push([<?php echo $k?>, <?php echo $d?>]);
<?php }?>
<?php
foreach($chart_data_ac as $k=>$d){
?>
d2.push([<?php echo $k?>, <?php echo $d?>]);
<?php }?>
//var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
// a null signifies separate line segments
var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]];
$.plot($("#submission"), [
{label:"<?php echo $MSG_SUBMIT?>",data:d1,lines: { show: true }},
{label:"<?php echo $MSG_SOVLED?>",data:d2,bars:{show:true}} ],{
xaxis: {
mode: "time"
//, max:(new Date()).getTime()
//,min:(new Date()).getTime()-100*24*3600*1000
},
grid: {
backgroundColor: { colors: ["#fff", "#333"] }
}
});
});
//alert((new Date()).getTime());
</script>
<script>
var diff = new Date("<?php echo date("Y/m/d H:i:s")?>").getTime()-new Date().getTime();
//alert(diff);
function clock() {
var x,h,m,s,n,xingqi,y,mon,d;
var x = new Date(new Date().getTime()+diff);
y = x.getYear()+1900;
if (y>3000)
y -= 1900;
mon = x.getMonth()+1;
d = x.getDate();
xingqi = x.getDay();
h = x.getHours();
m = x.getMinutes();
s = x.getSeconds();
n = y+"-"+(mon>=10?mon:"0"+mon)+"-"+(d>=10?d:"0"+d)+" "+(h>=10?h:"0"+h)+":"+(m>=10?m:"0"+m)+":"+(s>=10?s:"0"+s);
//alert(n);
document.getElementById('nowdate').innerHTML = n;
setTimeout("clock()",1000);
}
clock();
</script>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,162 @@
<?php $show_title="评测状态 - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<script src="template/<?php echo $OJ_TEMPLATE?>/js/textFit.min.js"></script>
<div class="padding">
<h1>Contest<?php echo $view_cid?> - <?php echo $view_title ?></h1>
<!-- <form action="" class="ui mini form" method="get" role="form" id="form"> -->
<form id=simform class="ui mini form" action="status.php" method="get">
<input type="hidden" name="cid" value="<?php echo $cid; ?>" />
<div class="inline fields" style="margin-bottom: 25px; white-space: nowrap; ">
<label style="font-size: 1.2em; margin-right: 1px; "><?php echo $MSG_PROBLEM ?></label>
<div class="field"><input name="problem_id" style="width: 100px; " type="text" value="<?php echo htmlspecialchars($problem_id, ENT_QUOTES) ?>"></div>
<label style="font-size: 1.2em; margin-right: 1px; "><?php echo $MSG_USER ?></label>
<div class="field"><input name="user_id" style="width: 100px; " type="text" value="<?php echo htmlspecialchars($user_id, ENT_QUOTES) ?>"></div>
<label style="font-size: 1.2em; margin-right: 1px; "><?php echo $MSG_LANG ?></label>
<select class="form-control" size="1" name="language" style="width: 110px;font-size: 1em ">
<option value="-1">All</option>
<?php
if(isset($_GET['language'])){
$selectedLang=intval($_GET['language']);
}else{
$selectedLang=-1;
}
$lang_count=count($language_ext);
$langmask=$OJ_LANGMASK;
$lang=(~((int)$langmask))&((1<<($lang_count))-1);
for($i=0;$i<$lang_count;$i++){
if($lang&(1<<$i))
echo"<option value=$i ".( $selectedLang==$i?"selected":"").">
".$language_name[$i]."
</option>";
}
?>
</select>
<label style="font-size: 1.2em; margin-right: 1px;margin-left: 10px; ">状态:</label>
<select class="form-control" size="1" name="jresult" style="width: 110px;">
<?php if (isset($_GET['jresult'])) $jresult_get=intval($_GET['jresult']);
else $jresult_get=-1;
if ($jresult_get>=12||$jresult_get<0) $jresult_get=-1;
if ($jresult_get==-1) echo "<option value='-1' selected>All</option>";
else echo "<option value='-1'>All</option>";
for ($j=0;$j<12;$j++){
$i=($j+4)%12;
if ($i==$jresult_get) echo "<option value='".strval($jresult_get)."' selected>".$jresult[$i]."</option>";
else echo "<option value='".strval($i)."'>".$jresult[$i]."</option>";
}
echo "</select>";
?>
<?php if(isset($_SESSION[$OJ_NAME.'_'.'administrator'])||isset($_SESSION[$OJ_NAME.'_'.'source_browser'])){
if(isset($_GET['showsim']))
$showsim=intval($_GET['showsim']);
else
$showsim=0;
echo "<label style=\"font-size: 1.2em; margin-right: 1px;margin-left: 10px; \">相似度:</label>";
echo "
<select id=\"appendedInputButton\" class=\"form-control\" name=showsim onchange=\"document.getElementById('simform').submit();\" style=\"width: 110px;\">
<option value=0 ".($showsim==0?'selected':'').">All</option>
<option value=50 ".($showsim==50?'selected':'').">50</option>
<option value=60 ".($showsim==60?'selected':'').">60</option>
<option value=70 ".($showsim==70?'selected':'').">70</option>
<option value=80 ".($showsim==80?'selected':'').">80</option>
<option value=90 ".($showsim==90?'selected':'').">90</option>
<option value=100 ".($showsim==100?'selected':'').">100</option>
</select>";
}
?>
<button class="ui labeled icon mini button" type="submit" style="margin-left: 20px;">
<i class="search icon"></i>
<?php echo $MSG_SEARCH ?>
</button>
</div>
</form>
<table id="result-tab" class="very basic center aligned table" style="white-space: nowrap; " id="table">
<thead>
<tr>
<th class='desktop-only item'><?php echo $MSG_RUNID?></th>
<th><?php echo $MSG_USER?></th>
<th><?php echo $MSG_NICK?></th>
<th><?php echo $MSG_PROBLEM_ID?></th>
<th><?php echo $MSG_RESULT?></th>
<th><?php echo $MSG_MEMORY?></th>
<th><?php echo $MSG_TIME?></th>
<th ><?php echo $MSG_LANG?></th>
<th class='desktop-only item'><?php echo $MSG_CODE_LENGTH?></th>
<th ><?php echo $MSG_SUBMIT_TIME?></th>
<?php if (isset($_SESSION[$OJ_NAME.'_'.'administrator'])) {
echo "<th class='desktop-only item'>";
echo $MSG_JUDGER;
echo "</th>";
} ?>
</tr>
</thead>
<tbody style='font-weight:700' >
<!-- <tr v-for="item in items" :config="displayConfig" :show-rejudge="false" :data="item" is='submission-item'>
</tr> -->
<?php
foreach($view_status as $row){
$i=0;
echo "<tr>";
foreach($row as $table_cell){
if ($i==4)
echo "<td class='td_result'>";
else if($i==0 || $i>7 && $i!=9)
echo "<td class='desktop-only item '>";
else
echo "<td>";
echo $table_cell;
echo "</td>";
$i++;
}
echo "</tr>\n";
}
?>
</tbody>
</table>
<div style="margin-bottom: 30px; ">
<div style="text-align: center; ">
<div class="ui pagination menu" style="box-shadow: none; ">
<a class="icon item" href="<?php echo "status.php?".$str2;?>" id="page_prev">
<?php echo $MSG_HOME?>
</a>
<?php
if (isset($_GET['prevtop']))
echo "<a class=\"item\" href=\"status.php?".$str2."&top=".intval($_GET['prevtop'])."\">上一页</a>";
else
echo "<a class=\"item\" href=\"status.php?".$str2."&top=".($top+20)."\">上一页</a>";
?>
<a class="icon item" href="<?php echo "status.php?".$str2."&top=".$bottom."&prevtop=$top"; ?>" id="page_next">
下一页
</a>
</div>
</div>
</div>
<script>
var i = 0;
var judge_result = [<?php
foreach ($judge_result as $result) {
echo "'$result',";
} ?>
''];
var judge_color = [<?php
foreach ($judge_color as $result) {
echo "'$result',";
} ?>
''];
var oj_mark= <?php echo "'$OJ_MARK'";?>;
var user_id="<?php if (isset($_SESSION[$OJ_NAME."_user_id"])&& $OJ_FANCY_RESULT ) echo $_SESSION[$OJ_NAME."_user_id"]; ?>";
var fancy_mp3="<?php if (isset($_SESSION[$OJ_NAME."_user_id"]) && $OJ_FANCY_RESULT ) echo $OJ_FANCY_MP3; ?>";
</script>
<script src="template/<?php echo $OJ_TEMPLATE?>/auto_refresh.js?v=0.52" ></script>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,13 @@
<?php
$dir=basename(getcwd());
if($dir=="discuss3"||$dir=="admin"||$dir=="include") $path_fix="../";
else $path_fix="";
?>
<link rel="stylesheet" href="<?php echo $OJ_CDN_URL.$path_fix."template/$OJ_TEMPLATE"?>/css/style.css">
<link rel="stylesheet" href="<?php echo $OJ_CDN_URL.$path_fix."template/$OJ_TEMPLATE"?>/css/tomorrow.css">
<link rel="stylesheet" href="<?php echo $path_fix."template/$OJ_TEMPLATE"?>/css/semantic.min.css?v=0.1">
<link rel="stylesheet" href="<?php echo $OJ_CDN_URL.$path_fix."template/$OJ_TEMPLATE"?>/css/katex.min.css">
<link href="<?php echo $OJ_CDN_URL.$path_fix."template/$OJ_TEMPLATE"?>/css/morris.min.css" rel="stylesheet">
<link href="<?php echo $OJ_CDN_URL.$path_fix."template/$OJ_TEMPLATE"?>/css/FiraMono.css" rel="stylesheet">
<link href="<?php echo $path_fix."template/$OJ_TEMPLATE"?>/css/latin.css" rel="stylesheet">
<link href="<?php echo $path_fix."template/$OJ_TEMPLATE"?>/css/Exo.css" rel="stylesheet">

10
web/template/sidebar/css/Chart.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,20 @@
@charset "UTF-8";
@font-face {
font-family: 'Exo 2';
font-style: normal;
font-weight: 600;
src: url(7cH1v4okm5zmbvwkAx_sfcEuiD8jYPWsOdC6.ttf) format('truetype');
}
body {
background: linear-gradient(45deg, #f48fb1, #a5d6a7, #64b5f6); /* 增加饱和度的渐变背景 */
background-size: 400% 400%; /* 增加背景的大小,使动画效果更加流畅 */
animation: backgroundAnimation 20s ease infinite; /* 调整动画持续时间和曲线 */
}
/* 背景颜色变化动画 */
@keyframes backgroundAnimation {
0% { background-position: 0% 0%; }
25% { background-position: 100% 0%; }
50% { background-position: 100% 100%; }
75% { background-position: 0% 100%; }
100% { background-position: 0% 0%; }
}

View File

@@ -0,0 +1,6 @@
@font-face {
font-family: 'Fira Mono';
font-style: normal;
font-weight: 400;
src: url(../fonts/N0bX2SlFPv1weGeLZDtgJv7X.ttf) format('truetype');
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),a=function(e,t,r){for(var n=r,o=0,a=e.length;n<t.length;){var i=t[n];if(o<=0&&t.slice(n,n+a)===e)return n;"\\"===i?n++:"{"===i?o++:"}"===i&&o--,n++}return-1},i=function(e,t,r,n){for(var o=[],i=0;i<e.length;i++)if("text"===e[i].type){var l=e[i].data,d=!0,s=0,f=void 0;for(-1!==(f=l.indexOf(t))&&(s=f,o.push({type:"text",data:l.slice(0,s)}),d=!1);;){if(d){if(-1===(f=l.indexOf(t,s)))break;o.push({type:"text",data:l.slice(s,f)}),s=f}else{if(-1===(f=a(r,l,s+t.length)))break;o.push({type:"math",data:l.slice(s+t.length,f),rawData:l.slice(s,f+r.length),display:n}),s=f+r.length}d=!d}o.push({type:"text",data:l.slice(s)})}else o.push(e[i]);return o},l=function(e,t){var r=function(e,t){for(var r=[{type:"text",data:e}],n=0;n<t.length;n++){var o=t[n];r=i(r,o.left,o.right,o.display||!1)}return r}(e,t.delimiters);if(1===r.length&&"text"===r[0].type)return null;for(var n=document.createDocumentFragment(),a=0;a<r.length;a++)if("text"===r[a].type)n.appendChild(document.createTextNode(r[a].data));else{var l=document.createElement("span"),d=r[a].data;t.displayMode=r[a].display;try{t.preProcess&&(d=t.preProcess(d)),o.a.render(d,l,t)}catch(e){if(!(e instanceof o.a.ParseError))throw e;t.errorCallback("KaTeX auto-render: Failed to parse `"+r[a].data+"` with ",e),n.appendChild(document.createTextNode(r[a].rawData));continue}n.appendChild(l)}return n};t.default=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code","option"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},function e(t,r){for(var n=0;n<t.childNodes.length;n++){var o=t.childNodes[n];if(3===o.nodeType){var a=l(o.textContent,r);a&&(n+=a.childNodes.length-1,t.replaceChild(a,o))}else 1===o.nodeType&&function(){var t=" "+o.className+" ";-1===r.ignoredTags.indexOf(o.nodeName.toLowerCase())&&r.ignoredClasses.every(function(e){return-1===t.indexOf(" "+e+" ")})&&e(o,r)}()}}(e,r)}}]).default});

View File

@@ -0,0 +1,87 @@
.toprow{
background-color:#79a3d5;
white-space:nowrap;
}
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
color:#999;
}
.dropdown-menu,.navbar-default{
background-color:#79a3d5;
background-image: linear-gradient(to bottom, #323a81 0px, #79a3d5 100%);
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.http_judge_form{
white-space:nowrap;
}
.center{
text-align: center
}
.sampledata {
background: none repeat scroll 0 0 #ccccFF;
font-family: Monospace;
font-size: 18px;
line-height:2px;
white-space: pre;
}
body {
padding: 5px;
background-image: url(http://appserver.m.bing.net/BackgroundImageService/TodayImageService.svc/GetTodayImage?dateOffset=0&urlEncodeHeaders=true&osName=windowsPhone&osVersion=8.10&orientation=800x480&deviceName=WP8&mkt=en-US);
background-attachment: fixed;
background-repeat: no-repeat;
background-size: cover;
opacity: 0.9;
}
.navbar{
position: fixed;
width: 100%;
padding: 0 auto;
top: 0;
left: 0;
-moz-opacity: 0.9;
-khtml-opacity: 0.9;
opacity: 0.9;
z-index: 9999;
color:#999;
border: 0px solid #000;
}
/* funny color*/
.dropdown-menu,.navbar-default{
color:#999;
background-color:#000000;
background-image: linear-gradient(to bottom, #000000 0px, #000000 100%);
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.btn-warning{
background-color:#ff8000;
}
.btn-success{
background-color:#33cc99;
}
.panel-default{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
.jumbotron{
color:#000;
background-color:#ddd;
margin-top:50px;
}
.btn-danger{
background-color:#d3406d;
}
.toprow{
color:#999;
background-color:#000000;
white-space:nowrap;
}

View File

@@ -0,0 +1,75 @@
.toprow{
background-color:#79a3d5;
white-space:nowrap;
}
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
color:#999;
}
.dropdown-menu,.navbar-default{
background-color:#79a3d5;
background-image: linear-gradient(to bottom, #323a81 0px, #79a3d5 100%);
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.http_judge_form{
white-space:nowrap;
}
.center{
text-align: center
}
.sampledata {
background: none repeat scroll 0 0 #ccccFF;
font-family: Monospace;
font-size: 18px;
line-height:2px;
white-space: pre;
}
.navbar{
position: fixed;
width: 100%;
padding: 0 auto;
top: 0;
left: 0;
-moz-opacity: 0.9;
-khtml-opacity: 0.9;
opacity: 0.9;
z-index: 9999;
color:#999;
}
/* funny color*/
.dropdown-menu,.navbar-default{
color:#999;
background-color:#000000;
background-image: linear-gradient(to bottom, #000000 0px, #000000 100%);
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.btn-warning{
background-color:#ff8000;
}
.btn-success{
background-color:#33cc99;
}
.panel-default{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
.jumbotron{
background-color:#efefef;
margin-top:50px;
}
.btn-danger{
background-color:#d3406d;
}
a,.label,.toprow{
color:#999;
background-color:#000000;
white-space:nowrap;
}

View File

@@ -0,0 +1,63 @@
.toprow{
background-color:#79a3d5;
white-space:nowrap;
}
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
color:#fff;
}
.dropdown-menu,.navbar-default{
background-color:#79a3d5;
background-image: linear-gradient(to bottom, #323a81 0px, #79a3d5 100%);
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.http_judge_form{
white-space:nowrap;
}
.center{
text-align: center
}
.panel-default{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
.container .jumbotron{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
.sampledata {
background: none repeat scroll 0 0 #ccccFF;
font-family: Monospace;
font-size: 18px;
line-height:2px;
white-space: pre;
}
.navbar{
position: fixed;
width: 100%;
padding: 0 auto;
top: 0;
left: 0;
-moz-opacity: 0.9;
-khtml-opacity: 0.9;
opacity: 0.9;
z-index: 9999;
color:#999;
}
.red{
color:red;
}
.green{
color:green;
}
.blue{
color:blue;
}
/* funny color*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,37 @@
@media (prefers-color-scheme: dark) {
// one
.app{
filter: invert(1) hue-rotate(180deg);
img,button,.active {
//filter: brightness(.8) contrast(1.2);
filter: invert(1) hue-rotate(180deg);
}
}
// two
div:not(.no-invert){
filter: invert(1) hue-rotate(180deg);
}
// three
:not(img) { filter: invert(100%) hue-rotate(180deg); }
}
body {
filter: invert(1) hue-rotate(180deg);
margin-top: 0px !important;
//
//
img,
iframe,
// element
.el-tag--primary, .el-tag--success, .el-tag--warning, .el-tag--error,
.el-button--primary, .el-button--primary,
.invert-restore{
filter: invert(1) hue-rotate(180deg);
}
.invert-restore{
// 西
img{
filter: none;
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,75 @@
.toprow{
background-color:#79a3d5;
white-space:nowrap;
}
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
color:#ffffff;
}
.dropdown-menu,.navbar-default{
background-color:#79a3d5;
background-image: linear-gradient(to bottom, #323a81 0px, #79a3d5 100%);
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.http_judge_form{
white-space:nowrap;
}
.center{
text-align: center
}
.sampledata {
background: none repeat scroll 0 0 #ccccFF;
font-family: Monospace;
font-size: 18px;
line-height:2px;
white-space: pre;
}
.navbar{
position: fixed;
width: 100%;
padding: 0 auto;
top: 0;
left: 0;
-moz-opacity: 0.9;
-khtml-opacity: 0.9;
opacity: 0.9;
z-index: 9999;
}
/* funny color*/
.dropdown-menu,.navbar-default{
background-color:#006600;
background-image: linear-gradient(to bottom, #006600 0px, #66cc66 100%);
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.btn-warning{
background-color:#ff8000;
}
.btn-success{
background-color:#33cc99;
}
.panel-default{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
.container .jumbotron{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
.btn-danger{
background-color:#d3406d;
}
.toprow{
background-color:#66cc66;
white-space:nowrap;
}

View File

@@ -0,0 +1,74 @@
.toprow{
background-color:#eee;
white-space:nowrap;
}
.navbar-nav li a,.navbar-header .navbar-brand{
color:#fff;
font-weight: 600;
}
.dropdown-menu,.navbar-default{
background-color:#0e90d2;
color:white;
background-image: linear-gradient(to bottom, #0e90d2 0px, #0e90d2 100%);
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.navbar-default .navbar-nav>li>a {
color:white;
}
.http_judge_form{
white-space:nowrap;
}
.center{
text-align: center
}
.mynav {
margin-top: 20px
}
.panel-default{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
.container .jumbotron{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
h3.pagenav {
margin-top: 5px;
margin-bottom: 20px;
}
h3.pagenav div.item{
padding: 4px;
margin: 3px;
font-size: 16px;
border: 1px solid #eee;
border-radius: 3px;
display: inline-block;
width: 30px;
}
h3.pagenav div.item:hover{
background-color: #ddd;
cursor: pointer;
}
h3.pagenav div.active{
color: #888;
}
.broadcast {
height: 20px;
}
#problemset {
margin-top: 20px;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,84 @@
.toprow{
background-color:#79a3d5;
white-space:nowrap;
}
.dropdown-menu,.navbar-default{
background-color:#79a3d5;
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.http_judge_form{
white-space:nowrap;
}
.center{
text-align: center
}
.sampledata {
background: none repeat scroll 0 0 #ccccFF;
font-family: Monospace;
font-size: 18px;
line-height:2px;
white-space: pre;
}
body {
padding: 50px;
background-image:url('https://api.paugram.com/wallpaper/');
background-attachment: fixed;
background-repeat: no-repeat;
background-size: cover;
}
.navbar{
position: fixed;
width: 100%;
padding: 0 auto;
top: 0;
left: 0;
-moz-opacity: 0.9;
-khtml-opacity: 0.9;
opacity: 0.9;
z-index: 9999;
color:#999;
border: 0px solid #000;
}
/* funny color*/
.dropdown-menu,.navbar-default{
color:#999;
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.btn-warning{
background-color:#ff8000;
}
.btn-success{
background-color:#33cc99;
}
.panel-default{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
.container .jumbotron{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
.btn-danger{
background-color:#d3406d;
}
.toprow{
color:#999;
background-color:#000000;
white-space:nowrap;
}
.container{
background-color:white;
opacity:0.95;
}

View File

@@ -0,0 +1,70 @@
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 300;
font-stretch: normal;
src: url(../fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexQ.ttf) format('truetype');
}
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 400;
font-stretch: normal;
src: url(../fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexQ.ttf) format('truetype');
}
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 600;
font-stretch: normal;
src: url(../fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkxhjWVAexQ.ttf) format('truetype');
}
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 700;
font-stretch: normal;
src: url(../fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexQ.ttf) format('truetype');
}
@font-face {
font-family: 'Open Sans';
font-style: italic;
font-weight: 800;
font-stretch: normal;
src: url(../fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk0ZjWVAexQ.ttf) format('truetype');
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
font-stretch: normal;
src: url(../fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVc.ttf) format('truetype');
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
font-stretch: normal;
src: url(../fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVc.ttf) format('truetype');
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
font-stretch: normal;
src: url(../fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsgH1x4gaVc.ttf) format('truetype');
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 700;
font-stretch: normal;
src: url(../fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVc.ttf) format('truetype');
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 800;
font-stretch: normal;
src: url(../fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgshZ1x4gaVc.ttf) format('truetype');
}

View File

@@ -0,0 +1,24 @@
@font-face {
font-family: 'Lato';
font-style: italic;
font-weight: 400;
src: url(S6u8w4BMUTPHjxsAXC-v.ttf) format('truetype');
}
@font-face {
font-family: 'Lato';
font-style: italic;
font-weight: 700;
src: url(S6u_w4BMUTPHjxsI5wq_Gwfo.ttf) format('truetype');
}
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 400;
src: url(S6uyw4BMUTPHjx4wWw.ttf) format('truetype');
}
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 700;
src: url(S6u9w4BMUTPHh6UVSwiPHA.ttf) format('truetype');
}

View File

@@ -0,0 +1,127 @@
.MJX_Assistive_MathML {position: absolute!important; top: 0; left: 0; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0 0 0!important; border: 0!important; height: 1px!important; width: 1px!important; overflow: hidden!important; display: block!important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none}
.MJX_Assistive_MathML.MJX_Assistive_MathML_Block {width: 100%!important}
.mjx-chtml {display: inline-block; line-height: 0; text-indent: 0; text-align: left; text-transform: none; font-style: normal; font-weight: normal; font-size: 1.19em; font-size-adjust: none; letter-spacing: normal; word-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0; min-height: 0; border: 0; margin: 0; padding: 1px 0}
.MJXc-display {display: block; text-align: center; margin: 1em 0; padding: 0; font-size: 1em !important; }
.mjx-chtml[tabindex]:focus, body :focus .mjx-chtml[tabindex] {display: inline-table}
.mjx-full-width {text-align: center; display: table-cell!important; width: 10000em}
.mjx-math {display: inline-block; border-collapse: separate; border-spacing: 0}
.mjx-math * {display: inline-block; -webkit-box-sizing: content-box!important; -moz-box-sizing: content-box!important; box-sizing: content-box!important; text-align: left}
.mjx-numerator {display: block; text-align: center}
.mjx-denominator {display: block; text-align: center}
.MJXc-stacked {height: 0; position: relative}
.MJXc-stacked > * {position: absolute}
.MJXc-bevelled > * {display: inline-block}
.mjx-stack {display: inline-block}
.mjx-op {display: block}
.mjx-under {display: table-cell}
.mjx-over {display: block}
.mjx-over > * {padding-left: 0px!important; padding-right: 0px!important}
.mjx-under > * {padding-left: 0px!important; padding-right: 0px!important}
.mjx-stack > .mjx-sup {display: block}
.mjx-stack > .mjx-sub {display: block}
.mjx-prestack > .mjx-presup {display: block}
.mjx-prestack > .mjx-presub {display: block}
.mjx-delim-h > .mjx-char {display: inline-block}
.mjx-surd {vertical-align: top}
.mjx-mphantom * {visibility: hidden}
.mjx-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 2px 3px; font-style: normal; font-size: 90%}
.mjx-annotation-xml {line-height: normal}
.mjx-menclose > svg {fill: none; stroke: currentColor}
.mjx-mtr {display: table-row}
.mjx-mlabeledtr {display: table-row}
.mjx-mtd {display: table-cell; text-align: center}
.mjx-label {display: table-row}
.mjx-box {display: inline-block}
.mjx-block {display: block}
.mjx-span {display: inline}
.mjx-char {display: block; white-space: pre}
.mjx-itable {display: inline-table; width: auto}
.mjx-row {display: table-row}
.mjx-cell {display: table-cell}
.mjx-table {display: table; width: 100%}
.mjx-line {display: block; height: 0}
.mjx-strut {width: 0; padding-top: 1em}
.mjx-vsize {width: 0}
.MJXc-space1 {margin-left: .167em}
.MJXc-space2 {margin-left: .222em}
.MJXc-space3 {margin-left: .278em}
.mjx-chartest {display: block; visibility: hidden; position: absolute; top: 0; line-height: normal; font-size: 500%}
.mjx-chartest .mjx-char {display: inline}
.mjx-chartest .mjx-box {padding-top: 1000px}
.MJXc-processing {visibility: hidden; position: fixed; width: 0; height: 0; overflow: hidden}
.MJXc-processed {display: none}
.mjx-test {display: block; font-style: normal; font-weight: normal; font-size: 100%; font-size-adjust: none; text-indent: 0; text-transform: none; letter-spacing: normal; word-spacing: normal; overflow: hidden; height: 1px}
.mjx-ex-box-test {position: absolute; width: 1px; height: 60ex}
.mjx-line-box-test {display: table!important}
.mjx-line-box-test span {display: table-cell!important; width: 10000em!important; min-width: 0; max-width: none; padding: 0; border: 0; margin: 0}
#MathJax_CHTML_Tooltip {background-color: InfoBackground; color: InfoText; border: 1px solid black; box-shadow: 2px 2px 5px #AAAAAA; -webkit-box-shadow: 2px 2px 5px #AAAAAA; -moz-box-shadow: 2px 2px 5px #AAAAAA; -khtml-box-shadow: 2px 2px 5px #AAAAAA; padding: 3px 4px; z-index: 401; position: absolute; left: 0; top: 0; width: auto; height: auto; display: none}
.mjx-chtml .mjx-noError {line-height: 1.2; vertical-align: ; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid}
.MJXc-TeX-unknown-R {font-family: STIXGeneral,'Cambria Math','Arial Unicode MS',serif; font-style: normal; font-weight: normal}
.MJXc-TeX-unknown-I {font-family: STIXGeneral,'Cambria Math','Arial Unicode MS',serif; font-style: italic; font-weight: normal}
.MJXc-TeX-unknown-B {font-family: STIXGeneral,'Cambria Math','Arial Unicode MS',serif; font-style: normal; font-weight: bold}
.MJXc-TeX-unknown-BI {font-family: STIXGeneral,'Cambria Math','Arial Unicode MS',serif; font-style: italic; font-weight: bold}
.MJXc-TeX-ams-R {font-family: MJXc-TeX-ams-R,MJXc-TeX-ams-Rw}
.MJXc-TeX-cal-B {font-family: MJXc-TeX-cal-B,MJXc-TeX-cal-Bx,MJXc-TeX-cal-Bw}
.MJXc-TeX-frak-R {font-family: MJXc-TeX-frak-R,MJXc-TeX-frak-Rw}
.MJXc-TeX-frak-B {font-family: MJXc-TeX-frak-B,MJXc-TeX-frak-Bx,MJXc-TeX-frak-Bw}
.MJXc-TeX-math-BI {font-family: MJXc-TeX-math-BI,MJXc-TeX-math-BIx,MJXc-TeX-math-BIw}
.MJXc-TeX-sans-R {font-family: MJXc-TeX-sans-R,MJXc-TeX-sans-Rw}
.MJXc-TeX-sans-B {font-family: MJXc-TeX-sans-B,MJXc-TeX-sans-Bx,MJXc-TeX-sans-Bw}
.MJXc-TeX-sans-I {font-family: MJXc-TeX-sans-I,MJXc-TeX-sans-Ix,MJXc-TeX-sans-Iw}
.MJXc-TeX-script-R {font-family: MJXc-TeX-script-R,MJXc-TeX-script-Rw}
.MJXc-TeX-type-R {font-family: MJXc-TeX-type-R,MJXc-TeX-type-Rw}
.MJXc-TeX-cal-R {font-family: MJXc-TeX-cal-R,MJXc-TeX-cal-Rw}
.MJXc-TeX-main-B {font-family: MJXc-TeX-main-B,MJXc-TeX-main-Bx,MJXc-TeX-main-Bw}
.MJXc-TeX-main-I {font-family: MJXc-TeX-main-I,MJXc-TeX-main-Ix,MJXc-TeX-main-Iw}
.MJXc-TeX-main-R {font-family: MJXc-TeX-main-R,MJXc-TeX-main-Rw}
.MJXc-TeX-math-I {font-family: MJXc-TeX-math-I,MJXc-TeX-math-Ix,MJXc-TeX-math-Iw}
.MJXc-TeX-size1-R {font-family: MJXc-TeX-size1-R,MJXc-TeX-size1-Rw}
.MJXc-TeX-size2-R {font-family: MJXc-TeX-size2-R,MJXc-TeX-size2-Rw}
.MJXc-TeX-size3-R {font-family: MJXc-TeX-size3-R,MJXc-TeX-size3-Rw}
.MJXc-TeX-size4-R {font-family: MJXc-TeX-size4-R,MJXc-TeX-size4-Rw}
@font-face {font-family: MJXc-TeX-ams-R; src: local('MathJax_AMS'), local('MathJax_AMS-Regular')}
@font-face {font-family: MJXc-TeX-ams-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_AMS-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_AMS-Regular.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-cal-B; src: local('MathJax_Caligraphic Bold'), local('MathJax_Caligraphic-Bold')}
@font-face {font-family: MJXc-TeX-cal-Bx; src: local('MathJax_Caligraphic'); font-weight: bold}
@font-face {font-family: MJXc-TeX-cal-Bw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Bold.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Bold.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Bold.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-frak-R; src: local('MathJax_Fraktur'), local('MathJax_Fraktur-Regular')}
@font-face {font-family: MJXc-TeX-frak-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Regular.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-frak-B; src: local('MathJax_Fraktur Bold'), local('MathJax_Fraktur-Bold')}
@font-face {font-family: MJXc-TeX-frak-Bx; src: local('MathJax_Fraktur'); font-weight: bold}
@font-face {font-family: MJXc-TeX-frak-Bw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Bold.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Bold.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Bold.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-math-BI; src: local('MathJax_Math BoldItalic'), local('MathJax_Math-BoldItalic')}
@font-face {font-family: MJXc-TeX-math-BIx; src: local('MathJax_Math'); font-weight: bold; font-style: italic}
@font-face {font-family: MJXc-TeX-math-BIw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Math-BoldItalic.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Math-BoldItalic.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Math-BoldItalic.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-sans-R; src: local('MathJax_SansSerif'), local('MathJax_SansSerif-Regular')}
@font-face {font-family: MJXc-TeX-sans-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Regular.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-sans-B; src: local('MathJax_SansSerif Bold'), local('MathJax_SansSerif-Bold')}
@font-face {font-family: MJXc-TeX-sans-Bx; src: local('MathJax_SansSerif'); font-weight: bold}
@font-face {font-family: MJXc-TeX-sans-Bw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Bold.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Bold.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Bold.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-sans-I; src: local('MathJax_SansSerif Italic'), local('MathJax_SansSerif-Italic')}
@font-face {font-family: MJXc-TeX-sans-Ix; src: local('MathJax_SansSerif'); font-style: italic}
@font-face {font-family: MJXc-TeX-sans-Iw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Italic.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Italic.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Italic.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-script-R; src: local('MathJax_Script'), local('MathJax_Script-Regular')}
@font-face {font-family: MJXc-TeX-script-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Script-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Script-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Script-Regular.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-type-R; src: local('MathJax_Typewriter'), local('MathJax_Typewriter-Regular')}
@font-face {font-family: MJXc-TeX-type-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Typewriter-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Typewriter-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Typewriter-Regular.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-cal-R; src: local('MathJax_Caligraphic'), local('MathJax_Caligraphic-Regular')}
@font-face {font-family: MJXc-TeX-cal-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Regular.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-main-B; src: local('MathJax_Main Bold'), local('MathJax_Main-Bold')}
@font-face {font-family: MJXc-TeX-main-Bx; src: local('MathJax_Main'); font-weight: bold}
@font-face {font-family: MJXc-TeX-main-Bw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Main-Bold.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Main-Bold.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-main-I; src: local('MathJax_Main Italic'), local('MathJax_Main-Italic')}
@font-face {font-family: MJXc-TeX-main-Ix; src: local('MathJax_Main'); font-style: italic}
@font-face {font-family: MJXc-TeX-main-Iw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Main-Italic.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Main-Italic.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-main-R; src: local('MathJax_Main'), local('MathJax_Main-Regular')}
@font-face {font-family: MJXc-TeX-main-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Main-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Main-Regular.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-math-I; src: local('MathJax_Math Italic'), local('MathJax_Math-Italic')}
@font-face {font-family: MJXc-TeX-math-Ix; src: local('MathJax_Math'); font-style: italic}
@font-face {font-family: MJXc-TeX-math-Iw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Math-Italic.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Math-Italic.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-size1-R; src: local('MathJax_Size1'), local('MathJax_Size1-Regular')}
@font-face {font-family: MJXc-TeX-size1-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Size1-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Size1-Regular.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-size2-R; src: local('MathJax_Size2'), local('MathJax_Size2-Regular')}
@font-face {font-family: MJXc-TeX-size2-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Size2-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Size2-Regular.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-size3-R; src: local('MathJax_Size3'), local('MathJax_Size3-Regular')}
@font-face {font-family: MJXc-TeX-size3-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Size3-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Size3-Regular.otf') format('opentype')}
@font-face {font-family: MJXc-TeX-size4-R; src: local('MathJax_Size4'), local('MathJax_Size4-Regular')}
@font-face {font-family: MJXc-TeX-size4-Rw; src /*1*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/eot/MathJax_Size4-Regular.eot'); src /*2*/: url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff') format('woff'), url('https://cdn.staticfile.org/mathjax/2.7.0/fonts/HTML-CSS/TeX/otf/MathJax_Size4-Regular.otf') format('opentype')}

View File

@@ -0,0 +1,45 @@
/* 初音未来的配色方案 主体框架由AI狗蛋生成 */
:root {
--hatsune-green: #55a8aa; /* 主绿色 */
--hatsune-darkblue: #094c55; /* 蓝黑色 */
--hatsune-blue: #4cd0d499; /* 主蓝色 */
--hatsune-pink: #ff69b4; /* 粉色 */
--hatsune-white: #bdc8ce66; /* 白色 */
--hatsune-red: #f04b83; /* 红色 */
}
/* Semantic UI 默认颜色覆盖 */
.ui.primary.button {
background-color: var(--hatsune-green);
}
.ui.stackable.mobile.ui.container{
background-color: var(--hatsune-blue);
}
.ui.secondary.button {
background-color: var(--hatsune-blue);
}
.ui.accent.button {
background-color: var(--hatsune-pink);
}
.ui.basic.button {
background-color: var(--hatsune-white);
}
/* 其他组件的颜色覆盖 */
.ui.header {
color: var(--hatsune-darkblue);
}
a {
color: var(--hatsune-red);
}
.ui.segment {
background-color: var(--hatsune-white);
}
.padding {
background-color: var(--hatsune-blue) !important;
}
/* ... 可以根据需要继续覆盖其他组件的颜色 */

View File

@@ -0,0 +1,8 @@
/**
* Minified by jsDelivr using clean-css v4.1.9.
* Original file: /npm/morris.js@0.5.0/morris.css
*
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
*/
.morris-hover{position:absolute;z-index:1000}.morris-hover.morris-default-style{border-radius:10px;padding:6px;color:#666;background:rgba(255,255,255,.8);border:solid 2px rgba(230,230,230,.8);font-family:sans-serif;font-size:12px;text-align:center}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:700;margin:.25em 0}.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:.1em 0}
/*# sourceMappingURL=/sm/a7bd041563fb77baa7424d061d6b707837b92757abace778acc621e322f1ce8f.map */

View File

@@ -0,0 +1,57 @@
.toprow{
background-color:#79a3d5;
white-space:nowrap;
}
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
color:#ffffff;
}
.dropdown-menu,.navbar-default{
background-color:rgba(249,74,20,0.874);
background-image: linear-gradient(to bottom, rgba(249,74,20,0.874) 0px, rgba(249,74,20,0.874) 100%);
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(249,74,20,0.874) inset, 0px 1px 5px rgba(249,74,20,0.874);
}
.http_judge_form{
white-space:nowrap;
}
.center{
text-align: center
}
.sampledata {
background: none repeat scroll 0 0 #ccccFF;
font-family: Monospace;
font-size: 18px;
line-height:2px;
white-space: pre;
}
.navbar{
position: fixed;
width: 100%;
padding: 0 auto;
top: 0;
left: 0;
-moz-opacity: 0.9;
-khtml-opacity: 0.9;
opacity: 0.9;
z-index: 9999;
}
/* funny color*/
.btn-warning{
background-color:#ff8000;
}
.btn-success{
background-color:#33cc99;
}
.jumbotron{
background-color:#efefef;
}
.btn-danger{
background-color:#d3406d;
}
.toprow{
background-color:rgba(249,74,20,0.874);
white-space:nowrap;
}

View File

@@ -0,0 +1,100 @@
body{
font-family:"Helvetica Neue",Helvetica,Arial,"Microsoft YaHei", , sans-serif;
}
.ranktable-head {
width: 100%;
position: fixed;
z-index: 9999;
background: #fafafa;
box-shadow: 0px 0 8px rgba(66, 139, 202, 0.6);
-moz-box-shadow: 0px 0 8px rgba(66, 139, 202, 0.6);
-webkit-box-shadow: 0px 0 8px rgba(66, 139, 202, 0.6);
}
.ranktable-head table {
margin: 0;
}
.ranktable-head th {
text-align: center;
height: 27px;
line-height: 27px!important;
}
.team-item {
width: 100%;
position: absolute;
top: 44px;
text-align: center;
height: 67px;
line-height: 67px !important;
margin: 0;
background: #fff;
-webkit-transition: background 2s ease ,box-shadow .5s ease;
-moz-transform: background 2s ease ,box-shadow .5s ease;
-ms-transform: background 2s ease ,box-shadow .5s ease;
-o-transform: background 2s ease ,box-shadow .5s ease;
transform: background 2s ease ,box-shadow .5s ease;
}
.team-item table {
text-align: center;
height: 67px;
font-size: 20px;
margin: 0;
}
.team-item th,td {
text-align: center;
height: 67px;
vertical-align: middle!important;
}
th.rank{
font-weight: normal;
font-size: 30px;
}
.problem-status span {
display: block;
width: 100%;
font-size: 100%;
font-weight: normal;
padding: 7px 0;
-moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.22) inset;
-webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.22) inset;
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.22) inset;
}
.team-item.hold {
z-index: 1000;
box-shadow: inset 0 0 3px #03A9F4, 0px 0 30px #00BCD4;
-moz-box-shadow: 0 0 3px #03A9F4, 0px 0 30px #00BCD4;
-webkit-box-shadow: 0 0 3px #03A9F4, 0px 0 30px #00BCD4;
}
.team-item.gold{
background: #fff9c0;
}
.team-item.silver{
background: #f6f6f6;
}
.team-item.bronze{
background: #eddccf;
}
#timer{
margin: 0;
height: 0!important;
}
::-webkit-scrollbar {
width: 0px;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,323 @@
@import url('../../bs3/bootstrap.min.css');
.ui.header,
.ui.button,
.ui.input input,
.ui.menu,
.ui.form input:not([type]),
.ui.form input[type="date"],
.ui.form input[type="datetime-local"],
.ui.form input[type="email"],
.ui.form input[type="file"],
.ui.form input[type="number"],
.ui.form input[type="password"],
.ui.form input[type="search"],
.ui.form input[type="tel"],
.ui.form input[type="text"],
.ui.form input[type="time"],
.ui.form input[type="url"],
h1,
h2,
h3,
h4,
h5,
body {
font-family: Lato, -apple-system, "PingFang SC",
/* Apple */ "Source Han Sans SC", "Noto Sans CJK SC",
/* Google */ "Microsoft Yahei", "Lantinghei SC", "Hiragino Sans GB",
"Microsoft Sans Serif", /* M$ */ "WenQuanYi Micro Hei",
/* *nix */ sans-serif;
}
a.black-link {
color: #000;
}
a.black-link:hover {
color: #4183c4;
}
.font-content {
font-family: "Open Sans", "Source Han Sans SC", "Noto Sans CJK SC",
"PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", sans-serif;
}
.markdown-edit {
font-family: "Fira Mono", "Noto Sans CJK SC", "PingFang SC",
"Hiragino Sans GB", "Microsoft Yahei", monospace;
}
.padding {
padding-left: 1em;
padding-right: 1em;
}
.ui.segment:first-child {
margin-top: 0;
}
.ui.segment:last-child {
margin-bottom: 3px;
}
.hljs {
background: #fff !important;
}
.ui.footer.segment {
margin: 2em 0em 0em;
padding: 1em 0em;
border: none;
}
th {
white-space: nowrap;
}
pre {
tab-size: 4;
overflow: auto;
}
img {
max-width: 100%;
}
table.center.aligned ul,
table.center.aligned ol {
display: inline-block;
text-align: left;
}
body > .ui.page.dimmer {
position: fixed !important;
}
:not(.status_detail).status.success,
.title:hover .status_detail.status.success,
.title.active .status_detail.status.success,
:not(.status_detail).status.submitted,
.title:hover .status_detail.status.submitted,
.title.active .status_detail.status.submitted,
:not(.status_detail).status.accepted,
.title:hover .status_detail.status.accepted,
.title.active .status_detail.status.accepted {
color: forestgreen;
}
:not(.status_detail).status.wrong_answer,
.title:hover .status_detail.status.wrong_answer,
.title.active .status_detail.status.wrong_answer {
color: red;
}
:not(.status_detail).status.invalid_interaction,
.title:hover .status_detail.status.invalid_interaction,
.title.active .status_detail.status.invalid_interaction,
:not(.status_detail).status.runtime_error,
.title:hover .status_detail.status.runtime_error,
.title.active .status_detail.status.runtime_error,
:not(.status_detail).status.file_error,
.title:hover .status_detail.status.file_error,
.title.active .status_detail.status.file_error {
color: darkorchid;
}
:not(.status_detail).status.memory_limit_exceeded,
.title:hover .status_detail.status.memory_limit_exceeded,
.title.active .status_detail.status.memory_limit_exceeded,
:not(.status_detail).status.time_limit_exceeded,
.title:hover .status_detail.status.time_limit_exceeded,
.title.active .status_detail.status.time_limit_exceeded,
:not(.status_detail).status.output_limit_exceeded,
.title:hover .status_detail.status.output_limit_exceeded,
.title.active .status_detail.status.output_limit_exceeded {
color: sandybrown;
}
:not(.status_detail).status.waiting,
.title:hover .status_detail.status.waiting,
.title.active .status_detail.status.waiting,
:not(.status_detail).status.system_error {
color: grey;
}
:not(.status_detail).status.running,
.title:hover .status_detail.status.running,
.title.active .status_detail.status.running {
color: #6cf;
}
:not(.status_detail).status.partially_correct,
.title:hover .status_detail.status.partially_correct,
.title.active .status_detail.status.partially_correct {
color: #01bab2;
}
:not(.status_detail).status.judgement_failed,
.title:hover .status_detail.status.judgement_failed,
.title.active .status_detail.status.judgement_failed {
color: #ff5722;
}
:not(.status_detail).status.skipped,
.title:hover .status_detail.status.skipped,
.title.active .status_detail.status.skipped {
color: #78909c;
}
:not(.status_detail).status.compiling {
color: #00b5ad;
}
:not(.status_detail).status.no_testdata {
color: brown;
}
:not(.status_detail).status.compile_error {
color: rgb(0, 68, 136);
}
/* score color */
.score_0 {
color: red;
}
.score_1 {
color: #ff4b00;
}
.score_2 {
color: #ff6200;
}
.score_3 {
color: #ffa900;
}
.score_4 {
color: #ffd800;
}
.score_5 {
color: #c8ff00;
}
.score_6 {
color: #a5ff00;
}
.score_7 {
color: #52ff00;
}
.score_8 {
color: #41f741;
}
.score_9 {
color: #34d034;
}
.score_10 {
color: forestgreen;
}
.score {
text-shadow: 0 0 0.1px;
}
.rating_up {
color: #dd4b39;
}
.rating_down {
color: #3d9400;
}
/* code tag */
:not(pre) > code {
background-color: rgba(0, 0, 0, 0.08);
border-radius: 3px;
display: inline-block;
font-size: 0.9em;
font-weight: bold;
padding: 1px 6px;
vertical-align: baseline;
color: #444;
margin-top: 2px;
}
code {
font-family: "Consolas", "Ubuntu Mono", "Fira Mono", "Monaco", "Menlo", "source-code-pro", monospace !important;
}
/* Animated spinner */
@keyframes spinner-icon-rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.spinner.icon:before {
animation: spinner-icon-rotate 3s linear infinite;
display: block;
}
::-webkit-scrollbar {
-webkit-appearance: none;
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.1);
border-radius: 0px;
}
::-webkit-scrollbar-thumb {
cursor: pointer;
border-radius: 5px;
background: rgba(0, 0, 0, 0.25);
-webkit-transition: color 0.2s ease;
transition: color 0.2s ease;
}
::-webkit-scrollbar-thumb:window-inactive {
background: rgba(0, 0, 0, 0.15);
}
::-webkit-scrollbar-thumb:hover {
background: rgba(128, 135, 139, 0.8);
}
.ui.top.attached.block.header i.icon {
font-size: 1em;
vertical-align: initial;
}
.ui.selection.dropdown .menu > .item {
padding-left: 0.8rem !important;
padding-right: 0 !important;
}
/* 打印样式 */
@media print {
html {
position: relative !important;
overflow: scroll !important;
height: unset !important;
}
body {
position: unset !important;
margin-top: unset !important;
height: unset !important;
}
#page-header, #submit-buttons, .p-label {
display: none;
}
}

View File

@@ -0,0 +1,67 @@
.hll { background-color: #d6d6d6 }
.pl-c { color: #8e908c } /* Comment */
.pl-err { color: #c82829 } /* Error */
.pl-k { color: #8959a8 } /* Keyword */
.pl-l { color: #f5871f } /* Literal */
.pl-n { color: #4d4d4c } /* Name */
.pl-o { color: #3e999f } /* Operator */
.pl-p { color: #4d4d4c } /* Punctuation */
.pl-ch { color: #8e908c } /* Comment.Hashbang */
.pl-cm { color: #8e908c } /* Comment.Multiline */
.pl-cp { color: #8e908c } /* Comment.Preproc */
.pl-cpf { color: #8e908c } /* Comment.PreprocFile */
.pl-c1 { color: #8e908c } /* Comment.Single */
.pl-cs { color: #8e908c } /* Comment.Special */
.pl-gd { color: #c82829 } /* Generic.Deleted */
.pl-ge { font-style: italic } /* Generic.Emph */
.pl-gh { color: #4d4d4c; font-weight: bold } /* Generic.Heading */
.pl-gi { color: #718c00 } /* Generic.Inserted */
.pl-gp { color: #8e908c; font-weight: bold } /* Generic.Prompt */
.pl-gs { font-weight: bold } /* Generic.Strong */
.pl-gu { color: #3e999f; font-weight: bold } /* Generic.Subheading */
.pl-kc { color: #8959a8 } /* Keyword.Constant */
.pl-kd { color: #8959a8 } /* Keyword.Declaration */
.pl-kn { color: #3e999f } /* Keyword.Namespace */
.pl-kp { color: #8959a8 } /* Keyword.Pseudo */
.pl-kr { color: #8959a8 } /* Keyword.Reserved */
.pl-kt { color: #eab700 } /* Keyword.Type */
.pl-ld { color: #718c00 } /* Literal.Date */
.pl-m { color: #f5871f } /* Literal.Number */
.pl-s { color: #718c00 } /* Literal.String */
.pl-na { color: #4271ae } /* Name.Attribute */
.pl-nb { color: #4d4d4c } /* Name.Builtin */
.pl-nc { color: #eab700 } /* Name.Class */
.pl-no { color: #c82829 } /* Name.Constant */
.pl-nd { color: #3e999f } /* Name.Decorator */
.pl-ni { color: #4d4d4c } /* Name.Entity */
.pl-ne { color: #c82829 } /* Name.Exception */
.pl-nf { color: #4271ae } /* Name.Function */
.pl-nl { color: #4d4d4c } /* Name.Label */
.pl-nn { color: #eab700 } /* Name.Namespace */
.pl-nx { color: #4271ae } /* Name.Other */
.pl-py { color: #4d4d4c } /* Name.Property */
.pl-nt { color: #3e999f } /* Name.Tag */
.pl-nv { color: #c82829 } /* Name.Variable */
.pl-ow { color: #3e999f } /* Operator.Word */
.pl-w { color: #4d4d4c } /* Text.Whitespace */
.pl-mb { color: #f5871f } /* Literal.Number.Bin */
.pl-mf { color: #f5871f } /* Literal.Number.Float */
.pl-mh { color: #f5871f } /* Literal.Number.Hex */
.pl-mi { color: #f5871f } /* Literal.Number.Integer */
.pl-mo { color: #f5871f } /* Literal.Number.Oct */
.pl-sb { color: #718c00 } /* Literal.String.Backtick */
.pl-sc { color: #4d4d4c } /* Literal.String.Char */
.pl-sd { color: #8e908c } /* Literal.String.Doc */
.pl-s2 { color: #718c00 } /* Literal.String.Double */
.pl-se { color: #f5871f } /* Literal.String.Escape */
.pl-sh { color: #718c00 } /* Literal.String.Heredoc */
.pl-si { color: #f5871f } /* Literal.String.Interpol */
.pl-sx { color: #718c00 } /* Literal.String.Other */
.pl-sr { color: #718c00 } /* Literal.String.Regex */
.pl-s1 { color: #718c00 } /* Literal.String.Single */
.pl-ss { color: #718c00 } /* Literal.String.Symbol */
.pl-bp { color: #4d4d4c } /* Name.Builtin.Pseudo */
.pl-vc { color: #c82829 } /* Name.Variable.Class */
.pl-vg { color: #c82829 } /* Name.Variable.Global */
.pl-vi { color: #c82829 } /* Name.Variable.Instance */
.pl-il { color: #f5871f } /* Literal.Number.Integer.Long */

View File

@@ -0,0 +1,78 @@
.toprow{
background-color:#eee;
white-space:nowrap;
}
.toprow,.navbar .navbar-nav li a,.navbar-header .navbar-brand{
#color:#fff;
}
.dropdown-menu,.navbar-default{
#background-color:#79a3d5;
#background-image: linear-gradient(to bottom, #323a81 0px, #79a3d5 100%);
background-repeat: repeat-x;
border-radius: 4px;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.15) inset, 0px 1px 5px rgba(0, 0, 0, 0.075);
}
.http_judge_form{
white-space:nowrap;
}
.center{
text-align: center
}
.mynav {
margin-top: 20px
}
.panel-default{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
.container .jumbotron{
padding: 5px;
background-image: url(../../image/background.jpg);
border: 1px solid #eee;
margin-top:50px;
}
h3.pagenav {
margin-top: 5px;
margin-bottom: 20px;
}
h3.pagenav div.item{
padding: 4px;
margin: 3px;
font-size: 16px;
border: 1px solid #eee;
border-radius: 3px;
display: inline-block;
width: 30px;
}
h3.pagenav div.item:hover{
background-color: #ddd;
cursor: pointer;
}
h3.pagenav div.active{
color: #888;
}
#problemset {
margin-top: 20px;
}
.hint pre{
display:none;
}
.red{
color:red;
}
.green{
color:green;
}
.blue{
color:blue;
}
.ui.segment, .ui.segments .segment{
font-size:18px;
line-height:28px;
}

View File

@@ -0,0 +1,51 @@
<?php $show_title="$MSG_BBS - $OJ_NAME"; ?>
<?php
$view_discuss=ob_get_contents();
ob_end_clean();
require_once(dirname(__FILE__)."/../../lang/$OJ_LANG.php");
?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<?php include("include/bbcode.php");?>
<script src="<?php echo "template/bs3/"?>marked.min.js"></script>
<div class="padding">
<h1><?php echo $news_title ?></h1>
<div class="ui existing segment">
<?php echo $view_discuss?>
</div>
</div>
<script>
$(document).ready(function(){
marked.use({
// 开启异步渲染
async: true,
pedantic: false,
gfm: true,
mangle: false,
headerIds: false
});
$(".md").each(function(){
$(this).html(marked.parse($(this).text()));
});
// adding note for ```input1 ```output1 in description
for(let i=1;i<10;i++){
$(".language-input"+i).parent().before("<div><?php echo $MSG_Input?>"+i+":</div>");
$(".language-output"+i).parent().before("<div><?php echo $MSG_Output?>"+i+":</div>");
}
$(".md table tr td").css({
"border": "1px solid grey",
"text-align": "center",
"width": "200px",
"height": "30px"
});
$(".md table th").css({
"border": "1px solid grey",
"width": "200px",
"height": "30px",
"background-color": "#9e9e9ea1",
"text-align": "center"
});
});
</script>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,30 @@
<?php
$show_title="$MSG_ERROR_INFO - $OJ_NAME";
if(isset($OJ_MEMCACHE)) include(dirname(__FILE__)."/header.php");
if($mark==100) {
$ui_class="positive";
$ui_icon="check";
}else{
$ui_class="negative";
$ui_icon="remove";
}
?>
<div class="ui <?php echo $ui_class?> icon message">
<i class="<?php echo $ui_icon?> icon"></i>
<div class="content">
<div class="header" style="margin-bottom: 10px; " ondblclick='$(this).load("refresh-privilege.php")'>
<?php echo $view_errors;?>
<?php if ($OJ_LANG=="cn"&&isset($spj[0][0])&&$spj[0][0]!=2) echo "<br>如果你是管理员,希望解决这个问题,请打开
<a href='http://hustoj.com' target='_blank'>HUSTOJ常见问题</a>按Ctrl+F查找上面错误信息中的关键词。<br>\n
如果你不是管理员,可以联系管理员$OJ_ADMIN 。";?>
</div>
<!-- <p><%= err.details %></p> -->
<p>
<!-- <a href="<%= err.nextUrls[text] %>" style="margin-right: 5px; "><%= text %></a> -->
<a href="javascript:history.go(-1)"><?php echo $MSG_BACK;?></a>
</p>
</div>
</div>
<?php include(dirname(__FILE__)."/footer.php");?>

View File

@@ -0,0 +1,10 @@
<?php $show_title="$MSG_FAQ - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<div class="padding">
<h1 class="ui center aligned header"><?php echo $MSG_FAQ ?></h1>
<div style="font-content">
<?php echo $view_faqs?>
</div>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

View File

@@ -0,0 +1,131 @@
<?php $show_title="$MSG_FAQ - $OJ_NAME"; ?>
<?php include("template/$OJ_TEMPLATE/header.php");?>
<div class="padding">
<h1 class="ui center aligned header">帮助</h1>
<div style="font-content">
<h2 class="ui header">评测</h2>
<p>
<br> C 使用 <code>gcc 9.4.0</code> 编译,命令为
&nbsp;<code>gcc Main.c -o Main -fno-asm -Wall -lm --static -O2 -std=c99 -DONLINE_JUDGE</code>
<br> C++ 使用 <code>g++ 9.4.0</code> 编译,命令为
&nbsp;<code>g++ -fno-asm -Wall -lm --static -O2 -std=c++17 -DONLINE_JUDGE -o Main Main.cc</code>
<br> 您可以使用 <code>#pragma GCC optimize ("O0")</code> 手工关闭 O2 优化;
<br> Pascal 使用 <code>fpc 3.0.4</code> 编译,命令为
&nbsp;<code>fpc Main.pas -oMain -O1 -Co -Cr -Ct -Ci</code>。
<br> Java 使用 <code>OpenJDK 17.0.4</code> 编译,命令为
<code> javac -J-Xms32m -J-Xmx256m Main.java</code>,如果您的代码中没有 <code>public class</code>,请将入口类命名为 <code>Main</code>,在评测时提供额外 2 秒的运行时间和 512MB 的运行内存。
<br>
这里给出的编译器版本仅供参考,请以实际编译器版本为准。
</p>
<p>请使用<strong>标准输入输出</strong>。</p>
<h2 class="ui header">Q: cin/cout为什么会超时TLE?</h2>
<p>A: cin/cout因为默认同步stdin/stdout而变慢并产生更多的系统调用而受到性能影响可以在main函数开头加入下面代码加速
<div class="ui existing segment">
<pre style="margin-top: 0; margin-bottom: 0; ">ios::sync_with_stdio(false);
cin.tie(0);</pre>
</div>
* 另外,请使用'\n'而不是 endl 因为endl默认会增加刷新操作而导致输出缓冲失效降低效率。
</p>
<h2 class="ui header">Q: gets函数没有了吗?</h2>
<p>A: gets函数因为不能限制输入的长度造成了历史上大量的缓冲区溢出漏洞因此在最新版本中被彻底删除了请使用fgets这个函数取代。 或者使用下面的宏定义来取代:
<div class="ques-view"> #define gets(S) fgets(S,sizeof(S),stdin) </div>
</p>
<h2 class="ui header">Q: 为什么我的代码在本地正常,提交以后被判错? </h2>
<p>A: 不要使用rewind来清空输入缓冲OJ的输入本质是文件与键盘输入逻辑不一样。 如果你发现别人可以正确完成问题,那么有可能是你的代码没有考虑到所有的情况。
并不是通过样例数据就代表一定是正确答案。如果你发现所有人都不能正确提交该题,那么有可能是测试数据有问题,请向管理员<?php echo $OJ_ADMIN ?>反馈。
</p>
<h2 class="ui header">个人资料<br></h2>
<p>本站不提供头像存储服务,而是使用 QQ 头像显示。请使用QQ邮箱注册 系统自动取用您在QQ的头像。</p>
<h2 class="ui header">返回结果说明<br></h2>
<div class="ques-view">
<p>试题的解答提交后由评分系统评出即时得分,每一次提交会判决结果会及时通知;系统可能的反馈信息包括:</p>
<li>等待评测:评测系统还没有评测到这个提交,请稍候</li>
<li>正在评测:评测系统正在评测,稍候会有结果</li>
<li>编译错误:您提交的代码无法完成编译,点击“编译错误”可以看到编译器输出的错误信息</li>
<li>答案正确:恭喜!您通过了这道题</li>
<li>格式错误:您的程序输出的格式不符合要求(比如空格和换行与要求不一致)</li>
<li>答案错误:您的程序未能对评测系统的数据返回正确的结果</li>
<li>运行超时:您的程序未能在规定时间内运行结束</li>
<li>内存超限:您的程序使用了超过限制的内存</li>
<li>运行错误:您的程序在运行过程中崩溃了,发生了如段错误、浮点错误等</li>
<li>输出超限:您的程序输出了过多内容,一般可能是无限循环输出导致的结果</li>
</div>
<h2>程序样例</h2>
<p>以下样例程序可用于解决这道简单的题目:<strong>读入2个整数A和B然后输出它们的和。</strong></p>
<p><strong>gcc (.c)</strong></p>
<div class="ui existing segment">
<pre style="margin-top: 0; margin-bottom: 0; ">
<code class="lang-c">#include &lt;stdio.h&gt;
int main(){
int a, b;
while(scanf("%d %d",&amp;a, &amp;b) != EOF){
printf("%d\n", a + b);
}
return 0;
}</code></pre>
</div>
<p><strong>g++ (.cpp)</strong></p>
<div class="ui existing segment">
<pre style="margin-top: 0; margin-bottom: 0; ">
<code class="lang-c++">#include &lt;iostream&gt;
using namespace std;
int main(){
// io speed up
const char endl = '\n';
std::ios::sync_with_stdio(false);
cin.tie(nullptr);
int a, b;
while (cin &gt;&gt; a &gt;&gt; b){
cout &lt;&lt; a+b &lt;&lt; endl;
}
return 0;
}</code></pre>
</div>
<p><strong>fpc (.pas)</strong></p>
<div class="ui existing segment">
<pre style="margin-top: 0; margin-bottom: 0; ">
<code class="lang-pascal">var
a, b: integer;
begin
while not eof(input) do begin
readln(a, b);
writeln(a + b);
end;
end.</code></pre>
</div>
<p><strong>javac (.java)</strong></p>
<div class="ui existing segment">
<pre style="margin-top: 0; margin-bottom: 0; ">
<code class="lang-java">import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
int a = in.nextInt();
int b = in.nextInt();
System.out.println(a + b);
}
}
}</code></pre>
</div>
<p><strong>python3 (.py)</strong></p>
<div class="ui existing segment">
<pre style="margin-top: 0; margin-bottom: 0; ">
<code class="lang-c">import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
for line in sys.stdin:
a = line.split()
print(int(a[0]) + int(a[1]))</code></pre>
</div>
</div>
</div>
<?php include("template/$OJ_TEMPLATE/footer.php");?>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More