bipartite-graph-validator.cpp 746 B

123456789101112131415161718192021222324252627282930313233
  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, 400, "n");
  8. inf.readSpace();
  9. int m = inf.readInt(1, 400, "m");
  10. inf.readSpace();
  11. int k = inf.readInt(0, n * m, "k");
  12. inf.readEoln();
  13. set<pair<int,int> > edges;
  14. for (int i = 0; i < k; i++)
  15. {
  16. int a = inf.readInt(1, n, "a_i");
  17. inf.readSpace();
  18. int b = inf.readInt(1, m, "b_i");
  19. inf.readEoln();
  20. ensuref(edges.count(make_pair(a, b)) == 0, "Graph can't contain multiple edges between a pair of vertices");
  21. edges.insert(make_pair(a, b));
  22. }
  23. inf.readEof();
  24. return 0;
  25. }