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

      

  • 相关阅读:
    select,epoll,poll比较(网络资源总结)
    c++(重载、覆盖、隐藏)
    TCP状态转换图
    TCP心跳 | TCP keepAlive
    回车、换行、空格的ASCII码值—(附ASCII码表)
    C++ dlopen mini HOWTO 一篇非常好的介绍
    shell十三问
    linux IPC消息队列 的内核限制
    C++ string 类常用函数
    const用法的解惑
  • 原文地址:https://www.cnblogs.com/fropised/p/7954637.html
Copyright © 2020-2023  润新知