2021-11-01 20:44:08 +08:00
|
|
|
#ifndef OJPROBLEMSET_H
|
|
|
|
#define OJPROBLEMSET_H
|
|
|
|
#include <QString>
|
|
|
|
#include <memory>
|
|
|
|
#include <QVector>
|
|
|
|
|
|
|
|
enum class ProblemCaseTestState {
|
2021-11-02 09:29:35 +08:00
|
|
|
NotTested,
|
2021-11-01 20:44:08 +08:00
|
|
|
Testing,
|
|
|
|
Passed,
|
|
|
|
Failed
|
|
|
|
};
|
|
|
|
|
|
|
|
struct OJProblemCase {
|
|
|
|
QString name;
|
|
|
|
QString input;
|
|
|
|
QString expected;
|
|
|
|
ProblemCaseTestState testState; // no persistence
|
|
|
|
QString output; // no persistence
|
|
|
|
OJProblemCase();
|
|
|
|
|
|
|
|
public:
|
|
|
|
const QString &getId() const;
|
|
|
|
|
|
|
|
private:
|
|
|
|
QString id;
|
|
|
|
};
|
|
|
|
|
|
|
|
using POJProblemCase = std::shared_ptr<OJProblemCase>;
|
|
|
|
|
|
|
|
struct OJProblem {
|
|
|
|
QString name;
|
2021-11-02 09:29:35 +08:00
|
|
|
QString url;
|
2021-11-04 09:07:06 +08:00
|
|
|
QString description;
|
2021-11-01 20:44:08 +08:00
|
|
|
QVector<POJProblemCase> cases;
|
|
|
|
};
|
|
|
|
|
|
|
|
using POJProblem = std::shared_ptr<OJProblem>;
|
|
|
|
|
|
|
|
struct OJProblemSet {
|
|
|
|
QString name;
|
|
|
|
QVector<POJProblem> problems;
|
|
|
|
};
|
|
|
|
|
2021-11-06 10:36:25 +08:00
|
|
|
using POJProblemSet = std::shared_ptr<OJProblemSet>;
|
|
|
|
|
2021-11-01 20:44:08 +08:00
|
|
|
#endif // OJPROBLEMSET_H
|