建图神码
效率结棍
#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;
}