2080

编程入门 行业动态 更新时间:2024-10-13 00:33:49

2080

2080

//  2080 - 邻接点 ---邻接表
// 来源:东方博宜oj  oj.czos
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10,E=1e4+10;
int n,e,x,y;
int pre[N];
struct edge
{int from,to,next;
}a[E];
int k=0;
void add(int x,int y)
{++k;a[k].from=x;a[k].to=y;a[k].next=pre[x];pre[x]=k;
}
//定义结构体数组,存储边的信息,方便排序
struct node
{int x,y;
}p[E];
bool cmp(node n1,node n2)
{return n1.x<n2.x || (n1.x==n2.x&&n1.y>n2.y);
}
int main()
{scanf("%d%d",&n,&e);for(int i=1;i<=e;i++){cin>> p[i].x>>p[i].y;}//对p数组按照x升序,x相同y降序的方式排序sort(p+1,p+e+1,cmp);//将p数组中记录的e条边,建边;for(int i=1;i<=e;i++){add(p[i].x,p[i].y);}for(int i=1;i<=n;i++){if(pre[i]==0) continue;cout<<i<<endl;for(int j=pre[i];j!=0;j=a[j].next){cout<< a[j].to<< " ";}cout<<endl;}return 0;
}

更多推荐

2080

本文发布于:2024-03-13 07:41:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1733488.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!