求检查special-judge
  • 板块灌水区
  • 楼主S_Z_Xcoco
  • 当前回复8
  • 已保存回复8
  • 发布时间2024/8/10 15:47
  • 上次更新2024/8/10 16:44:11
查看原帖
求检查special-judge
918508
S_Z_Xcoco楼主2024/8/10 15:47
#include "testlib.h"
#include <string>
int main(int argc, char* argv[]) {
    registerTestlibCmd(argc, argv);

    // answer
    std::string correct_answer = ans.readLine();

    // output
    std::string student_answer = ouf.readLine();
	if(correct_answer.size()!=student_answer.size()){
		quitf(_wa, "You missed the question");
	}
    // score
    int score = 0;
	std::string s="";
    // score
    for(int i=0;i<15;++i){
    	if(student_answer[i]==correct_answer[i])score+=2;
		else s+=(char)i+1+32;
	}
	for(int i=15;i<34;++i){
		if(i==26){
			if(student_answer[i]==correct_answer[i])score+=4;
			else s+=(char)i+1+32;
			continue;
		}
    	if((correct_answer[i]=='T'||correct_answer[i]=='F')&&student_answer[i]==correct_answer[i])score+=1.5;
    	else if(student_answer[i]==correct_answer[i])score+=3;
		else s+=(char)i+1+32;
	}
	for(int i=34;i<44;++i){
		if(student_answer[i]==correct_answer[i])score+=3;
		else s+=(char)i+1+32;
	}
    // return
    if(score==100){
    	quitf(_ok, "The answer is correct.");
	}
	else if(score==0){
		quitf(_wa, "The answer is wrong.");
	}
	else{
		quitf(_pc(score),"Part of the answer is incorrect.The wrong number is %s",s);
	}
}
2024/8/10 15:47
加载中...