链式前向星标程

建图神码

效率结棍

#include<bits/stdc++.h>
using namespace std;
int head[1000000],cnt=1,point=-1;
struct T{
	int u;//起始点
	int v;//终点
	int w;//权值
	int next;//所输入的每一条边的前一条
}edge[1000000];
void Input(){
	cin>>edge[cnt].u;
	cin>>edge[cnt].v;
	cin>>edge[cnt].w;
	point=max(point,edge[cnt].v);
	edge[cnt].next=head[edge[cnt].u];
	head[edge[cnt].u]=cnt;
   cnt++;
}
int main(){
	freopen("picture.in","r",stdin);
	freopen("repicture.out","w",stdout);
	memset(head,-1,sizeof(head));
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
		Input();
	for(int j=1;j<=point;j++){
		cout<<"<"<<j<<">";
		for(int i=head[j];;i=edge[i].next){
			int v=edge[i].v;
	        int w=edge[i].w;
		    if(!(i+1)){
				break;
			}
			else
		        cout<<"--"<<w<<"--<"<<v<<">";
		}
		cout<<endl;
	}
	return 0;
} 
posted @ 2023-08-23 09:44  CultReborn  阅读(7)  评论(0)    收藏  举报