Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <iostream>
- #include <vector>
- using namespace std;
- #define MAX_N 100000
- typedef struct { void *g; } nedge_t;
- typedef struct { void *g; } dedge_t;
- struct Graph {
- vector<int> edges[MAX_N];
- nedge_t n_edge;
- dedge_t d_edge;
- Graph() {
- n_edge.g = this;
- d_edge.g = this;
- }
- };
- inline istream& operator>>(istream& in, nedge_t& e) {
- int tmp1, tmp2;
- in >> tmp1 >> tmp2;
- ((Graph*) (e.g))->edges[--tmp1].push_back(--tmp2);
- ((Graph*) (e.g))->edges[tmp2].push_back(tmp1);
- return in;
- }
- inline istream& operator>>(istream& in, dedge_t& e) {
- int tmp1, tmp2;
- in >> tmp1 >> tmp2;
- ((Graph*) (e.g))->edges[--tmp1].push_back(--tmp2);
- return in;
- }
- int main() {
- freopen("input.txt", "r", stdin);
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- int n, m;
- cin >> n >> m;
- Graph g;
- for(int i(0); i < m; ++i)
- cin >> g.d_edge;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement