今天下午算是被一题的数据恶心到了。。测试了一下午 WA了一下午,至今不知道是什么样例错了。。
题目数据还没发出来,先写好代码准备迎接他!(*`・з・)ムッ (▼皿▼#)
另外庆祝CSDN发博客终于取消掉文章分类这个框了
(每次填那个框框都可尴尬了)
使用方法:
如下图,在前后附加代码
效果:
查看当前目录下的judge.result文件
代码实现:
头文件:
static storage:
方法实现:
/*
* Copyright (c) 2019 Ng Kimbing, HNU, All rights reserved. May not be used, modified, or copied without permission.
* @Author: Ng Kimbing, HNU.
* @LastModified:2019-08-12 T 12:09:46.922 +08:00
*/
//
// Created by Hasee on 8/19/2019.
//
//#ifdef BINGOJ_TEST
#ifndef SOLUTION_BING_OJ
#define SOLUTION_BING_OJ
#include <utility>
#include <time.h>
#include <cstdio>
#include <iostream>
#include <fstream>
#include <string>
namespace BingOJ {
string myFileName; /* NOLINT */
string stdFileName;/* NOLINT */
long startTime, endTime;
long time;
void set_properties(string in, string stdAnswer, long timeLimit) {
myFileName = std::move(in);
stdFileName = std::move(stdAnswer);
startTime = clock();
time = timeLimit + 100;
}
bool special_judge() {
//TODO: Finish spj
return false;
}
bool normal_judge() {
fflush(stdout);
std::cout << flush;
freopen("judge.result", "w", stdout);
endTime = clock();
int line = 1;
ifstream myAns(myFileName);
ifstream stdAns(stdFileName);
string my, standardString;
while (myAns >> my && stdAns >> standardString) {
if (my != standardString) {
std::cout << "Wrong answer at line: " + to_string(line) << endl;
string foo;
std::cout << foo.append("Your answer: ").append(my).append(" Expected: ").append(standardString)
<< endl;
exit(-1);
}
++line;
}
double duration = 1000.0 * (endTime - startTime) / CLOCKS_PER_SEC;
if (time > duration)
std::cout << "You've got an AC! CONGRATS Time: " + to_string(duration) + "ms" << endl;
else
std::cout << "All answers are correct, but you've gog a TLE\nYour time: " +
to_string(duration) + "ms Time Limit: " + to_string(time - 100) + "ms" << endl;
return true;
}
};
#endif
//#endif