U81206题解
传送门
这是一个裸的链式前向星模板题……,不说了,标程如下:
#include<bits/stdc++.h>
using namespace std;
int n,m,f,i,cnt,j,x,y,z,he[10000001],ne[20000001],l[20000001],to[20000001];
int main()
{
scanf("%d%d%d",&n,&m,&f);
if (f==1)
{
for (i=1;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&z);//有向图
cnt++;
ne[cnt]=he[x];
to[cnt]=y;
l[cnt]=z;
he[x]=cnt;
}
}
else
{
for (i=1;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&z);//无向图
cnt++;
ne[cnt]=he[x];
to[cnt]=y;
l[cnt]=z;
he[x]=cnt;
cnt++;
ne[cnt]=he[y];
to[cnt]=x;
l[cnt]=z;
he[y]=cnt;
}
}
for (i=1;i<=n;i++)if (he[i])
for (j=he[i];j;j=ne[j])
printf("%d %d %d\n",i,to[j],l[j]);//输出
else printf("\n");
return 0;
}
感觉没什么特殊的技巧……