总结:时隔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元起,快前往官网查看详情吧