方式一:
#include<stdio.h>
#include<vector>
using namespace std;
#define SIZE 1000
vector<int> adj[1000];
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;
vector<int>::iterator j,iend;
for(i=1;i<=n;i++)
{
iend=adj[i].end();
printf("dian %d:",i);
for(j=adj[i].begin();j!=iend;j++)
{
printf("%d ",*j);
}
printf("\n");
}
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
init();
print();
}
return 0;
}
方式二:
#include<stdio.h>
#include<vector>
using namespace std;
#define SIZE 1000
vector<vector<int> >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<adj[i].size();j++)
{
printf("%d ",adj[i][j]);
}
printf("\n");
}
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
init();
print();
}
return 0;
}