可能是第一个出4个MLE的蒟蒻。。。
查看原帖
可能是第一个出4个MLE的蒟蒻。。。
303132
Okimoto楼主2020/6/19 21:37

蒟蒻遇见后四个点MLE,捕捉失败,求神犇们解答:

#include <stdio.h>
#include <vector>
#include <algorithm>
#include <queue>
using namespace std;
vector<int> v[100001];
queue<int> q;
bool tag[100001];
void dfs(int super){
	if(tag[super]){
		printf("%d ", super);
		tag[super] = false;
	}
	for(int i = 0; i < int(v[super].size()); i ++){
		dfs(v[super][i]);
	}
}
int main()
{
	int n, m;
	scanf("%d%d", &n, &m);
	int from, to;
	for(int i = 1; i <= m; i ++){
		scanf("%d%d", &from, &to);
		v[from].push_back(to);
	}
	for(int i = 1; i <= n; i ++){
		sort(v[i].begin(), v[i].end());
	}
	for(int i = 1; i <= n; i ++){
		tag[i] = true;
	}
	dfs(1);
	for(int i = 1; i <= n; i ++){
		tag[i] = true;
	}
	q.push(1);
	printf("\n");
	while(q.size() != 0){
		for(int i = 0; i < int(v[q.front()].size()); i ++){
			if(tag[v[q.front()][i]]){
				q.push(v[q.front()][i]);
				tag[v[q.front()][i]] = false;
			}
		}
		printf("%d ", q.front());
		q.pop();
	}
	return 0;
}
2020/6/19 21:37
加载中...