This commit is contained in:
2025-10-30 20:30:31 +09:00
commit 4660e519d4
15 changed files with 7602 additions and 0 deletions

38
validator/validator.cpp Normal file
View File

@@ -0,0 +1,38 @@
#include "testlib.h"
using namespace std;
using ll = long long;
const int MX = 1e9;
int main(int argc, char *argv[]) {
registerValidation(argc, argv);
ll n = inf.readLong(1LL, MX, "N");
inf.readSpace();
ll m = inf.readLong(0, n * (n - 1), "M");
inf.readEoln();
set<pair<int, int> > edges;
for (ll i = 1; i <= m; i++) {
ll s, e;
double len;
s = inf.readLong(1LL, n);
inf.readSpace();
e = inf.readLong(1LL, n);
inf.readSpace();
len = inf.readDouble();
inf.readEoln();
ensuref(s != e, "s must not be equal to e: edge: %lld -> %lld", s, e);
ensuref(len >= 0,
"len must be greater than or equal to zero: %lld->%lld, %lf", s,
e, len);
ensuref(!edges.contains({s, e}),
"Edges must be unique: multiple edge %lld -> %lld", s, e);
edges.emplace(s, e);
}
inf.readEof();
}