如何用lemon评测spj
  • 板块学术版
  • 楼主May_wind
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/11/16 18:42
  • 上次更新2023/11/4 00:24:06
查看原帖
如何用lemon评测spj
141368
May_wind楼主2021/11/16 18:42

RT,今天机房模拟赛里有一道spj。

题目给的checker长这个样子:

#include <bits/stdc++.h>
using namespace std;

using ll = long long;
const ll L = (ll)1e18;

int main(void) {
//    ifstream input("2.in");
//    ifstream user_output("2.out");
    ifstream input("input");
    ifstream user_output("user_output");
    int q, d, l;
    int m = 1500;
    input >> q >> d >> l;
    for (int i=0; i<q; i++) {
        ll n; input >> n;
        int k = -1; user_output >> k;
        if (k < 0 || k > m) return 1;

        ll pre = -1; user_output >> pre;
        if (pre != 1) return 1;
        for (int i=0; i<k; i++) {
            ll cur = -1; user_output >> cur;
            if (cur < -L || cur > L) return 1;
            if ((min(abs(cur), abs(pre)) > l || cur != pre - d) && cur != 2 * pre && ((pre%3+3)%3 != 1 || cur != (pre-1)/3))
                return 1;
            pre = cur;
        }
        if (pre != n)return 1;
    }
    return 0;
}

然后我选择了“自定义校验器”,评测显示“无效校验器”。请问如何解决这个问题?

2021/11/16 18:42
加载中...