Files
hustoj/web/template/syzoj/problem.php
2025-05-10 16:23:38 +08:00

690 lines
26 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
if ($pr_flag) {
$show_title = "P$id - " . $row['title'] . " - $OJ_NAME";
} else {
$id = $row['problem_id'];
$show_title = "$MSG_PROBLEM " . $PID[$pid] . ": " . $row['title'] . " - $OJ_NAME";
}
?>
<?php include("template/$OJ_TEMPLATE/header.php"); ?>
<style>
.ace_cursor {
border-left-width: 1px !important;
color: #000 !important;
}
#languages-menu::-webkit-scrollbar,
#testcase-menu::-webkit-scrollbar {
width: 0px;
background: transparent;
}
div[class*=ace_br] {
border-radius: 0 !important;
}
.copy {
font-size: 12px;
color: #4d4d4d;
background-color: white;
padding: 2px 8px;
margin: 8px;
border-radius: 4px;
cursor: pointer;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05), 0 2px 4px rgba(0, 0, 0, 0.05);
}
</style>
<script src="<?php echo $OJ_CDN_URL . $path_fix . "template/$OJ_TEMPLATE/" ?>clipboard.min.js"></script>
<script src="<?php echo $OJ_CDN_URL . $path_fix . "template/bs3/" ?>marked.min.js"></script>
<script src="<?php echo $OJ_CDN_URL . $path_fix . "template/syzoj/js/" ?>markdown-it.min.js"></script>
<div class="padding ">
<div class="ui center aligned grid">
<div class="row">
<h1 class="ui header">
<?php
if ($pr_flag) {
echo "$id: " . $row['title'];
// <%= problem.title %><% if (problem.allowedEdit && !problem.is_public) { %><span class="ui tiny red label">未公开</span><% } %>";
//echo "<title>$MSG_PROBLEM".$row['problem_id']."--". $row['title']."</title>";
//echo "<center><h2><strong>$id: ".$row['title']."</strong></h2>";
} else {
$id = $row['problem_id'];
//echo "<title>$MSG_PROBLEM ".$PID[$pid].": ".$row['title']." </title>";
echo "$MSG_PROBLEM " . $PID[$pid] . ": " . $row['title'];
}
if ($row['defunct'] == "Y")
echo "<span class=\"p-label ui tiny red label\">$MSG_RESERVED</span>";
?>
</h1>
</div>
<div class="row" style="margin-top: -15px">
<span class="ui label"><?php echo $MSG_Memory_Limit ?><?php echo $row['memory_limit']; ?> MB</span>
<span class="ui label"><?php echo $MSG_Time_Limit ?><?php echo $row['time_limit']; ?> S</span>
<!-- <span class="ui label">标准输入输出</span> -->
</div>
<div class="row" style="margin-top: -23px">
<!-- <span class="ui label">题目类型:传统</span> -->
<span
class="ui label"><?php echo $MSG_JUDGE_STYLE ?><?php echo array($MSG_NJ, $MSG_SPJ, $MSG_RTJ)[$row['spj']]; ?>
</span>
<span class="ui label"><?php echo $MSG_Creator ?><span id='creator'></span></span>
</div>
<div class="row" style="margin-top: -23px">
<span class="ui label"><?php echo $MSG_SUBMIT ?><?php echo $row['submit']; ?></span>
<span class="ui label"><?php echo $MSG_SOVLED ?><?php echo $row['accepted']; ?></span>
</div>
</div>
<div class="ui grid">
<div class="row" id="submit-buttons">
<div class="column">
<div class="ui buttons">
<?php
if ($pr_flag) {
echo "<a id='submit' class=\"small ui primary button\" href=\"submitpage.php?id=$id\">$MSG_SUBMIT</a>";
echo "<a class=\"small ui positive button\" href=\"status.php?problem_id=$id\">$MSG_SUBMIT_RECORD</a>";
echo "<a class=\"small ui orange button\" href=\"problemstatus.php?id=$id\">$MSG_STATISTICS</a>";
if ($OJ_BBS)
echo "<a class=\"small ui red button\" href=\"discuss.php?pid=$id\">$MSG_BBS</a>";
} else {
echo "<a href=\"contest.php?cid=$cid\" class=\"ui orange button\">$MSG_RETURN_CONTEST</a>";
if ($contest_is_over)
echo "<a id='submit' class=\"small ui primary button\" href=\"submitpage.php?id=$id\">$MSG_SUBMIT</a>";
else
echo "<a id='submit' class=\"small ui primary button\" href=\"submitpage.php?cid=$cid&pid=$pid&langmask=$langmask\">$MSG_SUBMIT</a>";
echo "<a class=\"small ui positive button\" href=\"status.php?problem_id=$id\">$MSG_GLOBAL$MSG_SUBMIT_RECORD</a>";
echo "<a class=\"small ui orange button\" href=\"status.php?problem_id=$PID[$pid]&cid=$cid\">$MSG_THIS_CONTEST$MSG_SUBMIT_RECORD</a>";
}
if (!file_exists($OJ_DATA . "/" . $id . "/solution.name"))
echo "<a class='small ui primary button' href='#' onclick='transform()' role='button'>$MSG_SHOW_OFF</a>";
?>
</div>
<?php
if (isset($_SESSION[$OJ_NAME . '_' . 'administrator']) || isset($_SESSION[$OJ_NAME . '_' . "p" . $row['problem_id']])) { //only the original editor can edit this problem
require_once("include/set_get_key.php");
?>
<div class="ui buttons right floated">
<a class="small ui button"
href="admin/problem_edit.php?id=<?php echo $id ?>&getkey=<?php echo $_SESSION[$OJ_NAME . '_' . 'getkey'] ?>"><?php echo $MSG_EDIT . $MSG_PROBLEM ?></a>
<a class="small ui button"
href='javascript:phpfm(<?php echo $row['problem_id']; ?>)'><?php echo $MSG_TEST_DATA ?></a>
</div>
<?php } ?>
</div>
</div>
<?php
function trans_md($str)
{
$s = $str;
// $s = bbcode_to_html($s);
if (
strpos($s, "class='md") === false &&
strpos($s, "class=\"md") === false
) // 没找到,那就加上
$s = "<span class='md'>" . $s . "</span>";
// 删除代码块里的html字符防止引起混乱
$s = preg_replace_callback('/(```.*?```|`[^`]*`)/s', function ($matches) {
$ss = str_replace('<br />', '', $matches[0]);
return $ss;
}, $s);
// 特殊转义
$s = str_replace("<br />", "\n", $s);
// 把<pre></pre>中间的html字符转成原始字符
$s = preg_replace_callback('/<pre>(.*?)<\/pre>/s', function ($matches) {
$content = $matches[1];
$content = htmlspecialchars_decode($content, ENT_QUOTES);
$content = str_replace("&lt;", "<", $content);
$content = str_replace("&gt;", ">", $content);
$content = str_replace("&amp;", "&", $content);
$content = str_replace("&quot;", "\"", $content);
$content = str_replace("&#039;", "'", $content);
return "<pre>" . $content . "</pre>";
}, $s);
return $s;
}
?>
<div class="row">
<div class="column">
<h4 class="ui top attached block header"><?php echo $MSG_Description ?></h4>
<div id="description" class="ui bottom attached segment font-content">
<?php
// echo $row['description'];
echo trans_md($row['description']);
if (isset($_SESSION[$OJ_NAME . '_' . 'administrator']) || isset($_SESSION[$OJ_NAME . '_' . "p" . $row['problem_id']])) {
// 管理员增加一个显示源数据
echo '<div class="ui accordion" style="margin-top: 15px;">
<div class="title">
<i class="dropdown icon"></i>
Markdown原文
</div>
<div class="content">
<pre style="overflow: auto; max-height: 300px; border: 1px solid #ddd; padding: 10px; background-color: #f5f5f5;">' .
$row['description'] .
'</pre>
</div>
</div>';
}
?>
<script>
$(document).ready(function() {
$('.ui.accordion').accordion();
});
</script>
</div>
</div>
</div>
<?php if ($row['input'] || isset($_GET['spa'])) { ?>
<div class="row">
<div class="column">
<h4 class="ui top attached block header"><?php echo $MSG_Input ?></h4>
<div id='input' class="ui bottom attached segment font-content">
<?php
echo trans_md($row['input']);
?>
</div>
</div>
</div>
<?php } ?>
<?php if ($row['output'] || isset($_GET['spa'])) { ?>
<div class="row">
<div class="column">
<h4 class="ui top attached block header"><?php echo $MSG_Output ?></h4>
<div id='output' class="ui bottom attached segment font-content">
<?php
echo trans_md($row['output']);
?>
</div>
</div>
</div>
<?php } ?>
<?php
$sinput = str_replace("<", "&lt;", $row['sample_input']);
$sinput = str_replace(">", "&gt;", $sinput);
$soutput = str_replace("<", "&lt;", $row['sample_output']);
$soutput = str_replace(">", "&gt;", $soutput);
?>
<?php if (strlen($sinput) > 0 && $sinput != "\n" || isset($_GET['spa'])) { ?>
<div class="row">
<div class="column">
<h4 class="ui top attached block header"><?php echo $MSG_Sample_Input ?>
<span class="copy" id="copyin"
data-clipboard-text="<?php echo htmlentities($sinput, ENT_QUOTES, 'UTF-8'); ?>"><?php echo $MSG_COPY; ?></span>
</h4>
<!-- <span class=copy id=\"copyin\" data-clipboard-text=\"".($sinput)."\"><?php echo $MSG_COPY; ?></span> -->
<div class="ui bottom attached segment font-content">
<!-- <pre><?php echo ($sinput); ?></pre> -->
<pre
style="margin-top: 0; margin-bottom: 0; "><code id='sinput' class="lang-plain"><?php echo ($sinput); ?></code></pre>
</div>
</div>
</div>
<?php } ?>
<?php if (strlen($soutput) > 0 && $soutput != "\n" || isset($_GET['spa'])) { ?>
<div class="row">
<div class="column">
<h4 class="ui top attached block header"><?php echo $MSG_Sample_Output ?>
<span class="copy" id="copyout"
data-clipboard-text="<?php echo htmlentities($soutput, ENT_QUOTES, 'UTF-8'); ?>"><?php echo $MSG_COPY; ?></span>
</h4>
<!-- <span class=copy id=\"copyout\" data-clipboard-text=\"".($soutput)."\"><?php echo $MSG_COPY; ?></span> -->
<div class="ui bottom attached segment font-content">
<!-- <div class="ui existing segment"> -->
<pre
style="margin-top: 0; margin-bottom: 0; "><code id='soutput' class="lang-plain"><?php echo ($soutput); ?></code></pre>
<!-- </div> -->
</div>
</div>
</div>
<?php } ?>
<?php if ($row['hint'] || isset($_GET['spa'])) { ?>
<div class="row">
<div class="column">
<h4 class="ui top attached block header"><?php echo $MSG_HINT ?></h4>
<div id='hint' class="ui bottom attached segment font-content hint">
<?php
echo trans_md($row['hint']);
?>
</div>
</div>
</div>
<?php } ?>
<?php
$color = array("blue", "teal", "orange", "pink", "olive", "red", "violet", "yellow", "green", "purple");
$tcolor = 0;
?>
<?php if ($row['source'] && !isset($_GET['cid'])) {
$cats = explode(" ", $row['source']);
?>
<div class="row">
<div class="column">
<h4 class="ui block header top attached" id="show_tag_title_div"
style="margin-bottom: 0; margin-left: -1px; margin-right: -1px; ">
<?php echo $MSG_SOURCE ?>
</h4>
<div class="ui bottom attached segment" id="show_tag_div">
<?php foreach ($cats as $cat) {
if (trim($cat) == "")
continue;
$label_theme = $color[$tcolor % count($color)];
$tcolor++;
?>
<a href="<?php
if (mb_ereg("^http", $cat)) // remote oj pop links
echo htmlentities($cat, ENT_QUOTES, 'utf-8') . '" target="_blank';
else
echo "problemset.php?search=" . urlencode(htmlentities($cat, ENT_QUOTES, 'utf-8'));
?>" class="ui medium <?php echo $label_theme; ?> label">
<?php echo htmlentities($cat, ENT_QUOTES, 'utf-8'); ?>
</a>
<?php } ?>
</div>
</div>
</div>
<?php } ?>
<div class="ui buttons">
<?php
if ($pr_flag) {
echo "<a id='submit' class=\"small ui primary button\" href=\"submitpage.php?id=$id\">$MSG_SUBMIT</a>";
echo "<a class=\"small ui positive button\" href=\"status.php?problem_id=$id\">$MSG_SUBMIT_RECORD</a>";
echo "<a class=\"small ui orange button\" href=\"problemstatus.php?id=$id\">$MSG_STATISTICS</a>";
if ($OJ_BBS)
echo "<a class=\"small ui red button\" href=\"discuss.php?pid=$id\">$MSG_BBS</a>";
} else {
echo "<a href=\"contest.php?cid=$cid\" class=\"ui orange button\">$MSG_RETURN_CONTEST</a>";
if ($contest_is_over)
echo "<a id='submit' class=\"small ui primary button\" href=\"submitpage.php?id=$id\">$MSG_SUBMIT</a>";
else
echo "<a id='submit' class=\"small ui primary button\" href=\"submitpage.php?cid=$cid&pid=$pid&langmask=$langmask\">$MSG_SUBMIT</a>";
echo "<a class=\"small ui positive button\" href=\"status.php?problem_id=$PID[$pid]&cid=$cid\">$MSG_SUBMIT_RECORD</a>";
}
if (!file_exists($OJ_DATA . "/" . $id . "/solution.name"))
echo "<a class='small ui primary button' href='#' onclick='transform()' role='button'>$MSG_SHOW_OFF</a>";
?>
</div>
</div>
<style>
#dragButton {
width: 10px;
height: 10%;
background-color: gray;
position: absolute;
top: 350px;
left: 0;
cursor: col-resize;
/* 显示可调整宽度的光标 */
}
</style>
<script type="text/javascript">
function transform() {
let height = document.body.clientHeight;
<?php if ($row['spj'] == 2) { ?>
let width = parseInt(document.body.clientWidth * 0.3);
let width2 = parseInt(document.body.clientWidth * 0.7);
<?php } else { ?>
let width = parseInt(document.body.clientWidth * 0.6);
let width2 = parseInt(document.body.clientWidth * 0.4);
<?php } ?>
let submitURL = $("#submit")[0].href;
<?php
if (isset($_GET['sid']))
echo "submitURL+='&sid=" . intval($_GET['sid']) . "';";
?>
console.log(width);
let main = $("#main");
let problem = main.html();
if (window.screen.width < 500) {
main.parent().append("<div id='submitPage' class='container' style='opacity:0.95;z-index:2;top:49px;'></div>");
$("#submitPage").html("<iframe id='ansFrame' src='" + submitURL + "&spa' width='100%' height='" + window.screen.height + "px' ></iframe>");
window.setTimeout('$("#ansFrame")[0].scrollIntoView()', 1000);
} else {
main.removeClass("container");
main.css("width", width2);
main.css("margin-left", "10px");
main.parent().append("<div id='submitPage' class='container' style='opacity:0.95;position:fixed;z-index:2;top:49px;right:-" + width2 + "px'></div>");
$("#submitPage").html("<iframe src='" + submitURL + "&spa' width='" + width + "px' height='" + height + "px' ></iframe>");
}
$("#submit").remove();
<?php if ($row['spj'] > 1) { ?>
window.setTimeout('$("iframe")[0].contentWindow.$("#TestRun").remove();', 1000);
<?php } ?>
// Add code to place drag button on the left side of the iframe
$("#submitPage").prepend("<div id='dragButton'></div>");
$(document).ready(function () {
let isDragging = false;
let startX = 0;
let initialWidth = 0;
function setIframeReadonly(readonly) {
const iframe = $("#submitPage").find('iframe')
if (readonly) {
iframe.css({
position: 'relative',
'z-index': -999
})
} else {
iframe.css({
position: 'static',
'z-index': 'unset'
})
}
}
// 鼠标按下时开始拖拽,颜色变为绿色
$("#dragButton").mousedown(function (event) {
if (event.target === this) { // Only allow dragging if the mouse button is clicked on the drag button itself
isDragging = true;
startX = event.pageX;
initialWidth = parseInt($("#main").css("width"));
$(this).css("background-color", "#a5ff00");
setIframeReadonly(true)
}
});
// 拖拽过程中更新宽度
$(document).mousemove(function (event) {
if (isDragging) {
let diffX = event.pageX - startX;
let newWidth = initialWidth + diffX;
$("#main").css("width", newWidth);
$("#submitPage").css("right", "-" + newWidth + "px");
$("#submitPage").find("iframe").attr("width", document.body.clientWidth - newWidth + "px");
}
});
// 鼠标释放时停止拖拽,恢复原始颜色
$(document).mouseup(function () {
if (isDragging) {
$("#dragButton").css("background-color", "gray");
}
isDragging = false;
setIframeReadonly(false)
});
// 鼠标移开页面或失焦时停止拖拽,恢复原始颜色
$(document).mouseleave(function () {
if (isDragging) {
$("#dragButton").css("background-color", "gray");
}
isDragging = false;
setIframeReadonly(false)
});
$(window).blur(function () {
if (isDragging) {
$("#dragButton").css("background-color", "gray");
}
isDragging = false;
setIframeReadonly(false)
});
});
}
function submit_code() {
if (!$('#submit_code input[name=answer]').val().trim() && !editor.getValue().trim()) return false;
$('#submit_code input[name=language]').val($('#languages-menu .item.active').data('value'));
lastSubmitted = editor.getValue();
$('#submit_code input[name=code]').val(editor.getValue());
return true;
}
// $('#languages-menu')[0].scrollTop = $('#languages-menu .active')[0].offsetTop - $('#languages-menu')[0].firstElementChild.offsetTop;
$(function () {
$('#languages-menu .item').click(function () {
$(this)
.addClass('active')
.closest('.ui.menu')
.find('.item')
.not($(this))
.removeClass('active')
;
editor.getSession().setMode("ace/mode/" + $(this).data('mode'));
});
});
</script>
<?php include("template/$OJ_TEMPLATE/footer.php"); ?>
<script>
function phpfm(pid) {
//alert(pid);
$.post("admin/phpfm.php", { 'frame': 3, 'pid': pid, 'pass': '' }, function (data, status) {
if (status == "success") {
document.location.href = "admin/phpfm.php?frame=3&pid=" + pid;
}
});
}
function selectOne(num, answer) {
let editor = $("iframe")[0].contentWindow.$("#source");
let old = editor.text();
let key = num + ".*";
console.log(key);
let rep = old.replace(new RegExp(key), num + " " + answer);
editor.text(rep);
}
function selectMulti(num, answer) {
let editor = $("iframe")[0].contentWindow.$("#source");
let old = editor.text();
let key = num + ".*";
console.log(key);
let rep = old.replace(new RegExp(key), num + " " + answer);
editor.text(rep);
}
$(document).ready(function () {
$("#creator").load("problem-ajax.php?pid=<?php echo $id ?>");
<?php if (isset($OJ_MARKDOWN) && $OJ_MARKDOWN == "marked.js") { ?>
marked.use({
// 开启异步渲染
async: true,
pedantic: false,
gfm: true,
mangle: false,
headerIds: false
});
$(".md").each(function () {
<?php if (isset($OJ_MARKDOWN) && $OJ_MARKDOWN == "marked.js") { ?>
markdown_content = marked.parse($(this).html()));
<?php } else if (isset($OJ_MARKDOWN) && $OJ_MARKDOWN == "markdown-it") { ?>
const md = window.markdownit();
md.set({
html: true,
linkify: true,
typographer: true,
})
markdown_content = md.render($(this).html());
<?php } ?>
$(this).append(markdown_content)
});
// 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"
});
<?php } ?>
//单纯文本1. A. B. C. D. 自动变控件
$('span[class=auto_select]').each(function () {
let i = 1;
let start = 0;
let next = 0;
let raw = $(this).html();
let options = ['A', 'B', 'C', 'D'];
console.log("scanning...");
while (start >= 0) {
start = raw.indexOf("\n" + i + ".", start);
if (start < 0) break;
let end = start;
let type = "radio"
for (let j = 0; j < 4; j++) {
let option = options[j];
end = raw.indexOf(option + ".", start);
next = raw.indexOf("\n" + (i + 1) + ".", start);
console.log("[" + raw.substring(start, end) + "]");
if (end < 0 || (end > next && next > 0)) {
console.log("i:" + i + " j:" + option + " end:" + end + " next:" + next);
end = start;
break;
}
if (j == 0 && raw.substring(start, end).indexOf("多选") > 0) type = "checkbox";
let disp = "<input type=\"" + type + "\" name=\"" + i + "\" value=\"" + option + "\" />" + option + ".";
//console.log(disp);
raw = raw.substring(0, end - 1) + disp + raw.substring(end + 2);
start += disp.length;
}
start = end + 1;
i++;
}
//console.log(raw);
$(this).html(raw);
});
// subjective problems from hydroOJ markdown and embeded marks
$('span[class="md auto_select"]').each(function () {
let i = 1;
let options = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
$(this).find("ul").each(function () {
let type = "radio";
let ol = $(this).prev("ol");
if (ol != undefined && ol.attr("start") != undefined) i = ol.attr("start");
console.log("id[" + i + "]");
if ($(this).html().indexOf("多选") > 0 || (ol != undefined && ol.html() != undefined && ol.html().indexOf("multiselect") > 0)) type = "checkbox";
let j = 0;
$(this).find("li").each(function () {
let option = options[j];
let disp = "<input type=\"" + type + "\" name=\"" + i + "\" value=\"" + option + "\" />" + option + ".";
$(this).prepend(disp);
//console.log(options[j]);
j++;
});
i++;
});
let html = $(this).html();
for (; i > 0; i--) {
console.log("searching..." + i);
html = html.replace("{{ input(" + i + ") }}", "<input type='text' size=5 name='" + i + "' placeholder='第" + i + "题' ><br>");
}
html = html.replaceAll("", "&lt;");
html = html.replaceAll("", "&gt;");
$(this).html(html);
});
$(".auto_select").find('input[type="text"]').change(function () {
selectOne($(this).attr("name"), $(this).val());
});
$('input[type="radio"]').click(function () {
if ($(this).is(':checked'))
selectOne($(this).attr("name"), $(this).val());
}).css("width", "24px").css("height", "21px");
$('input[type="checkbox"]').click(function () {
let num = $(this).attr("name");
let answer = "";
$("input[type=checkbox][name=" + num + "]").each(function () {
if ($(this).is(':checked'))
answer += $(this).val();
});
selectMulti(num, answer);
}).css("width", "24px").css("height", "21px");
<?php if ($row['spj'] > 1 || isset($_GET['sid']) || (isset($OJ_AUTO_SHOW_OFF) && $OJ_AUTO_SHOW_OFF)) { ?>
transform();
<?php } ?>
});
</script>
<script>
if ($('#copyin')[0] != undefined) {
var clipboardin = new Clipboard($('#copyin')[0]);
clipboardin.on('success', function (e) {
$("#copyin").text("<?php echo $MSG_COPY . $MSG_SUCCESS; ?>!");
setTimeout(function () { $("#copyin").text("<?php echo $MSG_COPY; ?>"); }, 1500);
console.log(e);
});
clipboardin.on('error', function (e) {
$("#copyin").text("<?php echo $MSG_COPY . $MSG_FAIL; ?>!");
setTimeout(function () { $("#copyin").text("<?php echo $MSG_COPY; ?>"); }, 1500);
console.log(e);
});
}
if ($('#copyout')[0] != undefined) {
var clipboardout = new Clipboard($('#copyout')[0]);
clipboardout.on('success', function (e) {
$("#copyout").text("<?php echo $MSG_COPY . $MSG_SUCCESS; ?>!");
setTimeout(function () { $("#copyout").text("<?php echo $MSG_COPY; ?>"); }, 1500);
console.log(e);
});
clipboardout.on('error', function (e) {
$("#copyout").text("<?php echo $MSG_COPY . $MSG_FAIL; ?>!");
setTimeout(function () { $("#copyout").text("<?php echo $MSG_COPY; ?>"); }, 1500);
console.log(e);
});
}
</script>
<?php if (isset($OJ_MATHJAX) && $OJ_MATHJAX) { ?>
<!--以下为了加载公式的使用而既加入-->
<script>
MathJax = {
tex: { inlineMath: [['$', '$'], ['\\(', '\\)']] }
};
</script>
<script id="MathJax-script" async src="template/bs3/tex-chtml.js"></script>
<style>
.jumbotron1 {
font-size: 18px;
}
</style>
<?php } ?>