F.A.Qs Home ProblemSet Status Ranklist Contest LoginRegister
Notice:1:注册本OJ方式请见https://www.lydsy.com/JudgeOnline/wttl/thread.php?tid=5671 2:请不要在讨论区中发空白主题帖。
大视野在线测评-欢迎您
[ New Thread ]
MainBoard >> 本OJ Special Judge程序编写样例和说明
gaewah @ 2011-07-24 09:14:40
[ Quote ] [ Edit ] [ Delete ] 1#
1、程序编写说明:

argc里存的是参数个数,argv数组里存的是标准输入,标准输出和用户输出。
spj需根据更传入的参数做出判断。
程序返回0,1,5依次代表AC,WA,PE

如需用pascal编写spj,请使用paramstr相关函数。
下面展示本OJ-2265的spj编写样例

#include <stdio.h>
#include <string.h>
#define OJ_AC 0
#define OJ_WA 1
#define OJ_PE 5
#define eps 1e-6
int dcmp(double x){ return x<-eps?-1:x>eps; }
int main(int argc, char* argv[]){
//函数参数第一个是命令,后面的依次是标准输入,标准输出,用户输出。
FILE *fi,*fo,*fu;
char sa[10], sb[10];
double a, b;
fi=fopen(argv[1],"r");
fo=fopen(argv[2],"r");
fu=fopen(argv[3],"r");
while (EOF != fscanf(fo, "%s", sa)){
if (fscanf(fu, "%s", sb)!=1) return OJ_WA;
if (sa[0] == 'I' && sb[0] == 'I') continue;
if (sa[0] == 'I' || sb[0] == 'I') return OJ_WA;
sscanf(sa, "%lf", &a); sscanf(sb, "%lf", &b);
if (dcmp(a - b) != 0) return OJ_WA;
}
if (EOF != fscanf(fu, "%s", sb)) return OJ_WA;;
return OJ_AC;
}

2、将程序源代码上传至相应题目的测试数据目录。
3、用putty登录到测试机,进入对应题目测试数据目录,使用测试机上的编译器编译spj程序,并命名为spj。 c++程序请使用g++命令,pascal程序请使用fpc命令。
c++
假设spj源码名为spj.cpp,则命令为 g++ spj.cpp -o spj
freepascal
请直接将源码命名为spj.pas,使用命令 fpc spj.pas 即可
4、在OJ后台将题目设置为special judge属性。
dzySB @ 2013-05-20 16:17:26
[ Quote ] [ Edit ] [ Delete ] 2#
..
test_tset @ 2015-05-28 00:30:33
[ Quote ] [ Edit ] [ Delete ] 3#
这道题题面没有交代 输入的p 保留几位有效数字,严重影响了这道题的可做性, 请管理员检查数据update题面。。。。

经研究 环的情况可能要 size<=sqrt(n) FFT放枪,size>sqrt(n) 直接 转 k圈消掉精度,当成树来处理,只能想到这种方法了
p的精度问题 严重影响了 k的大小,所以请求交代一下
test_tset @ 2015-05-28 00:31:48
[ Quote ] [ Edit ] [ Delete ] 4#
update:: problem 2840 小强的逃跑。。。。
test_tset @ 2015-05-28 08:33:51
[ Quote ] [ Edit ] [ Delete ] 5#
经验证 如果 p是三位小数的话 这道题 是可做的,如果是4位的话 会暴增一个数量级,貌似是不可做的(反正我没有想到其它算法)。。。。。
bdf @ 2016-08-17 21:57:22
[ Quote ] [ Edit ] [ Delete ] 6#
233
pc01 @ 2016-08-18 17:46:05
[ Quote ] [ Edit ] [ Delete ] 7#
...
[Top] [Previous Page] [Next Page]

HOME Back