vijos在vijos的自己的域中创建题目

Posted TanZq_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vijos在vijos的自己的域中创建题目相关的知识,希望对你有一定的参考价值。

创建属于自己的域

https://vijos.org/


填入对应信息即可。

创建题目

点击题库

往下拉,点击创建题目


进入题目之后,点击设置

接下来就是重点,配置数据点:(如果想直接用,后面有捷径。)
写一个正确答案的代码:
例如:

#include<iostream>
using namespace std;

int main() {
	int a, b;
	cin >> a >> b;
	cout << a + b << endl;

	return 0;
}

生成他的exe,VS用户按照一下流程可以找到:

点击:Debug文件夹之后即可找到。

Devc用户exe文件在CPP文件旁边:

重命名为:std.exe(弄懂之后,命名随意,这里只是用作一个示范,下面就不说了,名字都可以进行修改。)


即可看到文件扩展名。

再创建一个生成数据的exe,命名为:gen.exe,示例代码:

#include<iostream>
#include<ctime>
using namespace std;

double random(double a, double b)///随机数产生器,其范围为[a,b);
{
    return a + (b - a) * rand() / (RAND_MAX + 1.0);
}

int main() {
	srand((unsigned)time(NULL)); // 生成随机种子
	random(1, 100);
	int a = random(1, 800);
	int b = random(1, 800);
	cout << a << " " << b << endl;
	return 0;
}

std.exegen.exe复制到同一路径中,创建两个文件夹:

InputOutput

创建文本文件,输入以下内容:

@echo off
set t=50
:loop
	gen.exe > Input\\input%t%.txt
	std.exe  < Input\\input%t%.txt > Output\\output%t%.txt
set /a t-=1
if %t% neq 0 goto loop
pause

50为测试数据数量,就是将gen.exe生成的输入数据放入Input\\input%t%.txt中,(%t%就和C语言的%d差不多,:loop就是开始循环,if %t% neq 0 goto loop就是结束条件,set /a t-=1t随着循环次数的增加而减少。),Input\\input%t%.txt的数据又会输入至std.exe中,最后生成输出数据放入Output\\output%t%.txt中。

保存之后双击就会将数据生成在各自的文件夹中。

接下来创建配置文件:

#include<iostream>
using namespace std;

int main() {
	int TimeLimit, ProblemSum;
	cout << "请输入时限(单位为秒):";
	cin >> TimeLimit; cout << endl;

	cout << "请输入题目数目(能够被100整除,否则最后成绩计算会出现错误,最大不能超过60):";

	cin >> ProblemSum; cout << endl;
	cout << "已输入至Config.ini文件中。" << endl;

	freopen("Config.ini", "w", stdout);

	cout << ProblemSum << endl;
	for (int i = 1; i <= ProblemSum; ++i)
	{
		printf("input%d.txt|output%d.txt|%d|%d|\\n", i, i, TimeLimit, 100 / ProblemSum);
	}
}

生成exe文件之后重命名为:GenConfig.exe。
移动到与run.bat同一路径中,双击:
输入:

第二行的数字要和你生成的数据点数要相同。

压缩至data.zip中即可。

然后选择文件上传之后点击更新即可。

懒人造数据方法

其实只要按照这张图片操作就可以了

链接:https://pan.baidu.com/s/13hKM0MgK-Z82aXL8YPbHiQ
提取码:Tzq6

以上是关于vijos在vijos的自己的域中创建题目的主要内容,如果未能解决你的问题,请参考以下文章

[洛谷] 通往奥格瑞玛的道路 [Vijos]

Vijos1240 朴素的网络游戏

刷题总结——学姐的逛街计划(vijos1891费用流)

Vijos1512 SuperBrother打鼹鼠

Vijos1579 宿命的PSS 最小生成树

模拟Vijos P1926 紫色的手链