【心情】经过鏖战,终于写出了人生第一个spj
#include "testlib.h" #include <string> using namespace std; int main(int argc,char *argv[]) { registerTestlibCmd(argc,argv); string opt = ouf.readString(); string ans_opt = ans.readString(); int len = opt.length(),top = 0,lastpos; int flag_and = 0,flag_mod = 0; string str[3]; for (int i = 0; i < len; ++i) { if (opt[i] == '&') flag_and++; if (opt[i] == '%') flag_mod++; } if (flag_and == 1 && flag_mod == 1) { flag_and = 0; flag_mod = 0; for (int i = 0; i < len; ++i) { if (opt[i] == '%' && !flag_and) { quitf(_wa,"The answer is wrong: expected = unknown, found = %s",opt.c_str()); return 0; } if (opt[i] == '&') str[top++] = opt.substr(0,i),lastpos = i,flag_and = 1; if (opt[i] == '%') str[top++] = opt.substr(lastpos + 1,i - lastpos - 1),lastpos = i; } str[top++] = opt.substr(lastpos + 1,len + 1 - lastpos); if (str[1]=="green"&&str[2]=="orange"&&str[0]=="purple"|| str[1]=="green"&&str[2]=="purple"&&str[0]=="orange"|| str[1]=="orange"&&str[2]=="purple"&&str[0]=="green"|| str[1]=="orange"&&str[2]=="green"&&str[0]=="purple"|| str[1]=="purple"&&str[2]=="orange"&&str[0]=="green"|| str[1]=="purple"&&str[2]=="green"&&str[0]=="orange") quitf(_ok, "The answer is correct. answer is %s",ans_opt.c_str()); else quitf(_wa,"The answer is wrong: expected = unknown, found = %s",opt.c_str()); } else quitf(_wa,"The answer is wrong: expected = unknown, found = %s",opt.c_str()); }