【心情】经过鏖战,终于写出了人生第一个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());
}

  

原文地址:https://www.cnblogs.com/fropised/p/7954637.html