我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

数据结构day53-创新互联

总结:时隔10来天,属实没空,今天没忍住,继续之前的进度,学习图的遍历,BFS;

创新互联是一家专注于成都网站设计、网站建设与策划设计,石河子网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:石河子等地区。石河子做网站价格咨询:18980820575

题目详情 - 1076 Forwards on Weibo (pintia.cn)

思路:正常BFS,但是要确定层数,所以可以用数组存放每一层有几个,遍历当前层时,计算下一层的个数;而循环中当个数到达该层的个数时,就进入下一层;也可以用答案的做法,用结构体存放层数和id;

#pragma warning(disable:4996)
#include#includeusing namespace std;

int indirected[1010][1010];
int n, l;

void bfs(int id) {
	int res = 0;
	int inq[1010] = { 0 };//是否进入队列
	queueq;
	q.push(id);
	inq[id] = 1;
	int layer = 0, layer_arr[10] = { 1 };//arr[0]=1, else are 0
	while (!q.empty()&&layernow: i follow now
					q.push(i);
					inq[i] = 1;
					layer_arr[layer + 1] += 1;//下一层的个数
					res++;
				}
			}
		}
		layer++;
	}
	cout<< res<< '\n';
}

int main() {
	cin >>n >>l;
	int m, id;
	for (int i = 1; i<= n; i++) {//index from 1
		cin >>m; 
		for (int j = 0; j< m; j++) {
			cin >>id;
			indirected[i][id] = 1;
		}
	}
	int k;
	cin >>k;
	while (k--) {
		cin >>id;
		bfs(id);
	}
	return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:数据结构day53-创新互联
文章分享:http://mswzjz.cn/article/dhpghd.html

其他资讯