special judge 是啥?

P3825 [NOI2017] 游戏

这题不是有spj吗
by suxxsfe @ 2020-07-23 23:40:03


啊这
by xiechengzhan @ 2020-07-23 23:40:17


是要SPJ代码?
by 鏡音リン @ 2020-07-23 23:41:19


@[鏡音リン](/user/90893) 是的吧(感觉这个要求应该不过分?(
by FZzzz @ 2020-07-23 23:41:53


那你圈管理啊 圈我干啥(
by 鏡音リン @ 2020-07-23 23:42:59


@[鏡音リン](/user/90893) 啊啊啊啊( @[StudyingFather](/user/22030)
by FZzzz @ 2020-07-23 23:44:17


@[FZzzz](/user/174045) ```cpp #include "testlib.h" using namespace std; int n,d; char num[50010]; int m; char ans1[50010]; int pi,pj,hi,hj; char opt; char opt1,opt2; int main(int argc ,char* argv[]) { registerTestlibCmd(argc,argv); n=inf.readInt(); d=inf.readInt(); for(int i=1;i<=n;i++) { while(opt!='x'&&opt!='c'&&opt!='a'&&opt!='b') opt=inf.readChar(); num[i]=opt; opt=0; } opt=ans.readChar(); if(opt=='-') { opt1=ouf.readChar(); if(opt1!='-') quitf(_wa, "On line 1 column 1, read %c, expected -1 . score:QAQ", opt1 ); opt2=ouf.readChar(); if(opt2!='1') quitf(_wa, "On line 1 column 2, read %c, expected 1 . score:QWQ", opt2 ); //ouf.readEof(); quitf(_ok, "congrdulation Accept answer is -1 score:pwp"); } opt=0; for(int i=1;i<=n;i++) { opt=ouf.readChar(); if(opt!='A'&&opt!='B'&&opt!='C') quitf(_wa, "On line 1 column %d, read %c, expected A or B or C . score:qwq", i , opt ); ans1[i]=opt; if(ans1[i]-'A'+'a'==num[i]&&num[i]!='x') quitf(_wa, "On line 1 column %d, unexpect %c, \n the car cannot run in this map . \n score:qaq", i , opt ); opt=0; } m=inf.readInt(); for(int i=1;i<=m;i++) { opt1=opt2=0; pi=inf.readInt(); while(opt1!='A'&&opt1!='B'&&opt1!='C') opt1=inf.readChar(); pj=inf.readInt(); while(opt2!='A'&&opt2!='B'&&opt2!='C') opt2=inf.readChar(); if(ans1[pi]==opt1&&ans1[pj]!=opt2) quitf(_wa, "cannot accept the limit %d , unexpect %c in map %d score:pvp", i , ans1[pj] ,pj ); } //ouf.readEof(); quitf(_ok, " perfect answer score: qvq" ); return 0; } ```
by StudyingFather @ 2020-07-23 23:51:18


@[StudyingFather](/user/22030) 建议贴到附件里(
by FZzzz @ 2020-07-23 23:54:42


@[FZzzz](/user/174045) 原来的 checker 可读性不太行,刚刚重写了份更友好的 checker: ```cpp #include "testlib.h" using namespace std; int n,d,m; string S,jans,pans; int main(int argc,char** argv) { registerTestlibCmd(argc,argv); n=inf.readInt(); d=inf.readInt(); S=inf.readToken(); jans=ans.readToken(),pans=ouf.readToken(); if(jans=="-1") { if(pans=="-1") quitf(_ok,"Correct!"); else quitf(_wa,"Wrong Answer! There are no valid solutions."); } else if(pans=="-1") quitf(_wa,"Wrong Answer! Valid solutions exist."); if((int)pans.length()!=n) quitf(_wa,"Invalid Output! Length did not equal to n."); m=inf.readInt(); for(int i=0;i<n;i++) if(S[i]-'a'==pans[i]-'A') quitf(_wa,"Wrong Answer! You have used a forbidden car in map %d.",i+1); for(int x=1;x<=m;x++) { int i=inf.readInt(); string hi=inf.readToken(); int j=inf.readInt(); string hj=inf.readToken(); i++,j++; if(pans[i]==hi[0]&&pans[j]!=hj[0]) quitf(_wa,"Wrong Answer! Your output did not meet requirement %d.",x); } quitf(_ok,"Correct Answer!"); return 0; } ```
by StudyingFather @ 2020-07-24 22:37:41


@[FZzzz](/user/174045) 草上面这个出了点锅,我重发一下 /fad ```cpp #include "testlib.h" using namespace std; int n,d,m; string S,jans,pans; int main(int argc,char** argv) { registerTestlibCmd(argc,argv); n=inf.readInt(); d=inf.readInt(); S=inf.readToken(); jans=ans.readToken(),pans=ouf.readToken(); if(jans=="-1") { if(pans=="-1") quitf(_ok,"Correct!"); else quitf(_wa,"Wrong Answer! There are no valid solutions."); } else if(pans=="-1") quitf(_wa,"Wrong Answer! Valid solutions exist."); if((int)pans.length()!=n) quitf(_wa,"Invalid Output! Length did not equal to n."); m=inf.readInt(); for(int i=0;i<n;i++) if(S[i]-'a'==pans[i]-'A') quitf(_wa,"Wrong Answer! You have used a forbidden car in map %d.",i+1); for(int x=1;x<=m;x++) { int i=inf.readInt(); string hi=inf.readToken(); int j=inf.readInt(); string hj=inf.readToken(); i--,j--; if(pans[i]==hi[0]&&pans[j]!=hj[0]) quitf(_wa,"Wrong Answer! Your output did not meet requirement %d.",x); } quitf(_ok,"Correct Answer!"); return 0; } ```
by StudyingFather @ 2020-07-24 22:40:57


| 下一页