网易游戏官方发布消息后所有收到都转发,求最后收到人数(AC)

 #include<iostream>
#include<vector>
#include<string>
#include<set>
using namespace std;
int main()
{
	int m,num;
	int j = 0;
	string str;
	cin >> m;
	num = m;
	vector<vector<int> > array(m);
	while (m--) {
		
		int n;

		cin >> n;
		while (n--) {
			int id;
			cin >> id;
			array[j].push_back(id);
		}
		j++;
	}
	m = num;
	set<int> cun;
	cun.insert(1);
	while (m--) {
		int j = 0;
		for (set<int>::iterator it = cun.begin(); it != cun.end(); it++)
		{
			for (int k = 0; k < num; k++){
				if (find(array[k].begin(), array[k].end(), *it) != array[k].end()) {
					for (int i = 0; i < array[k].size(); i++) {
						cun.insert(array[k][i]);
					}
				}
			}
		}
	}
	cout << cun.size()-1 << endl;
	system("pause");
	return 0;
}
全部评论

相关推荐

11-04 10:30
已编辑
门头沟学院 研发工程师
开心小狗🐶:“直接说答案”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务