示例#1
0
文件: graph.c 项目: CMCXY0321/A-C.A
/**
 * 广度优先
 * @param {Graph} 
 * @return {void}
 */
void BFS (Graph G) {
  if (G->kind == DG || G->kind == UDG) {
    BFS1(G,0);
  } else if (G->kind == DN || G->kind == UDN) {
    BFS2(G,0);
  }
}
示例#2
0
int main(int argc, char* argv[])
{
        Construct(argv[0]);
        BFS1();         
        BFS2(argv[0]);
        return 0;
}
示例#3
0
int main()
{
	//freopen("input.txt", "r", stdin);
	char C[20];
	gets(C);
	int a,b;
	if(sscanf(C,"%d %d",&a,&b) == 1)
	{
		int n = a, min_x = MAX, min_y = MAX, x, y;
		
		bool visited[MAX][MAX];
		
		for(x = 0; x < MAX; x++)
			for(y = 0; y < MAX; y++)
				visited[x][y] = true;

		for(int i = 0; i < n; i++)
		{
			scanf("%d %d", &x, &y);
			if(i == 0)
			{
				min_x = x;
				min_y = y;
			}
			mas[x][y] = true;
			visited[x][y] = false;
		}
		printf("%d %d\n", min_x, min_y);
		BFS1(min_x, min_y,visited);
	}
	else
	{
		int x = a, y = b;
		
		int count = BFS2(x,y);
		printf("%d\n",count);
		for(int x = 1; x < MAX; x++)
		{
			for(int y = 1; y < MAX; y++)
			{
				if(mas[x][y])
					printf("%d %d\n",x,y);
			}
		}
	}
	return 0;
}