【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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值