Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <vector>#include <fstream>#include <iostream>#include <queue>#include <algorithm>using namespace std;struct node{int x,y,num;};vector<node> nodes;vector<vector<pair<int,int>>> graph;int n;bool cmp(node a,node b){return a.x<b.x;}void build(){sort(nodes.begin(),nodes.end(),cmp);for(int i=0;i<n;i++){int nex=i+1;while(nex<n && nodes[nex].x==nodes[i].x){int a=nodes[i].num,b=nodes[nex].num;graph[a].push_back(make_pair(b,0));