#include <iostream>
#include <stdio.h>
#include <cstdio>
#include <string>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <stack>
using namespace std;
#define maxSize 101
从图的邻接表转换成邻接矩阵 王道P192.4
//typedef struct ENode
//{
// int adjvex;
// struct ENode *next;
//}ENode; //边表节点
//typedef struct VNode
//{
// int data;
// struct ENode *firstchild;
//}VNode,VNodeL[maxSize]; //顶点表节点
//typedef struct Graph
//{
// int VNum,ENum;
// VNodeL adjlist;
//}Graph;
//void Create(Graph &g)
//{
// cin>>g.VNum>>g.ENum;
// for(int i=0;i<g.VNum;i++)
// {
// cin>>g.adjlist[i].data;
// g.adjlist[i].firstchild=NULL;
// }
// for(int i=0;i<g.ENum;i++)
// {
// int x,y;
// cin>>x>>y;
// ENode *p=(ENode*)malloc(sizeof(ENode));
// p->adjvex=x;
// p->next=g.adjlist[y].firstchild;
// g.adjlist[y].firstchild=p;
// ENode *q=(ENode*)malloc(sizeof(ENode));
// q->adjvex=y;
// q->next=g.adjlist[x].firstchild;
// g.adjlist[x].firstchild=q;
// }
//}
//void Transfer(Graph g,int matrix[][maxSize])
//{
// for(int i=0;i<g.VNum;i++)
// {
// ENode *p=g.adjlist[i].firstchild;
// while(p)
// {
// matrix[i][p->adjvex]=1;
// p=p->next;
// }
// }
//}
//int main()
//{
// Graph g;
// Create(g);
// int matrix[maxSize][maxSize];
// for(int i=0;i<g.VNum;i++)
// {
// for(int j=0;j<g.VNum;j++)
// {
// matrix[i][j]=0;
// }
// }
// Transfer(g,matrix);
// for(int i=0;i<g.VNum;i++)
// {
// for(int j=0;j<g.VNum;j++)
// {
// cout<<matrix[i][j]<<" ";
// }
//