undirected-graph-validator.cpp 784 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "testlib.h"
  2. #include <set>
  3. using namespace std;
  4. int main(int argc, char* argv[])
  5. {
  6. registerValidation(argc, argv);
  7. int n = inf.readInt(1, 1000, "n");
  8. inf.readSpace();
  9. int m = inf.readInt(0, 100000, "m");
  10. inf.readEoln();
  11. set<pair<int,int> > edges;
  12. for (int i = 0; i < m; i++)
  13. {
  14. int a = inf.readInt(1, n, "a_i");
  15. inf.readSpace();
  16. int b = inf.readInt(1, n, "b_i");
  17. inf.readEoln();
  18. ensuref(a != b, "Graph can't contain loops");
  19. ensuref(edges.count(make_pair(a, b)) == 0, "Graph can't contain multiple edges between a pair of vertices");
  20. edges.insert(make_pair(a, b));
  21. edges.insert(make_pair(b, a));
  22. }
  23. inf.readEof();
  24. return 0;
  25. }