一个关于 Special Judge 的问题
  • 板块学术版
  • 楼主Teto_etf
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/10/25 20:00
  • 上次更新2023/10/25 21:31:18
查看原帖
一个关于 Special Judge 的问题
748450
Teto_etf楼主2023/10/25 20:00

在多行输入的前面还有一些东西需要输入,例如

N  TN\;T

l1  r1  x1l_1\;r_1\;x_1

⋯\cdots

lT  rT  xTl_T\;r_T\;x_T

这种情况为什么会出错

例如下面这个 checker

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

int a[2010];
int suma[2010];

int l[2000010], r[2000010], x[2000010];

int main(int argc, char* argv[]) {
    registerTestlibCmd(argc, argv);
    
    int i = 0;
    while (!ans.eof()) i++, a[i] = ans.readInt();
    int n = -1, t = -1;
    i = 0;
    while (!inf.eof()) {
    	if (n == -1) n = inf.readInt(); else
    	if (t == -1) t = inf.readInt(), inf.readEoln(); else
    	i++, l[i] = inf.readInt(), r[i] = inf.readInt(), x[i] = inf.readInt();
	}
	if (i != n) quitf(_wa, "QAQ");
	for (int i = 1; i <= n; i++) suma[i] = suma[i - 1] + a[i];
	for (int i = 1; i <= t; i++)
		if (x[i] != suma[r[i]] - suma[l[i] - 1]) quitf(_wa, "QAQ");
		
	quitf(_ok, "AwA");
    return 0;
}

为什么这个 checker 是 UKE 的

2023/10/25 20:00
加载中...