隣接テーブルの作成-2つの方法(テンプレート)
1337 ワード
/*
*
*
*/
#include
#include
int head[100100];// ,head[i] i
int cnt;//
struct s
{
int u;//
int v;//
int w;//
int next;//
}edge[100010];
void add(int u,int v,int w)//
{
edge[cnt].u=u;
edge[cnt].v=v;
edge[cnt].w=w;
edge[cnt].next=head[u];
head[u]=cnt++;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int i;
cnt=0;
memset(head,-1,sizeof(head));//
for(i=0;i
#include
#include
using namespace std;
#define SIZE 1000
vector >adj(SIZE);
int n,m;
void init()
{
scanf("%d%d",&n,&m);
int i,j;
int a,b;
for(i=1;i<=n;i++)
{
adj[i].clear(); //
}
for(i=1;i<=m;i++)
{
scanf("%d%d",&a,&b);
adj[a].push_back(b);
adj[b].push_back(a);
}
}
void print()
{
int i;
int j;
for(i=1;i<=n;i++)
{
printf("dian %d:",i);
for(j=0;j