답안 #103585

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
103585 2019-03-31T19:07:46 Z luciocf 어르신 집배원 (BOI14_postmen) C++14
38 / 100
500 ms 36372 KB
#include <bits/stdc++.h>

using namespace std;

const int maxn = 5e5+10;

typedef pair<int, int> pii;

int qtd;

bool markEdge[maxn], mark[maxn];

vector<pii> grafo[maxn];
vector<int> ans[maxn];

stack<int> stk;

void dfs(int u)
{
	if (mark[u])
	{
		++qtd;

		while (true)
		{
			int v = stk.top();
			stk.pop();

			mark[v] = 0;
			ans[qtd].push_back(v);

			if (v == u) break;
		}
	}

	for (auto v: grafo[u])
	{
		if (!markEdge[v.second])
		{
			mark[u] = 1;
			stk.push(u);
			markEdge[v.second] = 1;

			dfs(v.first);
		}
	}
}

int main(void)
{
	int n, m;
	scanf("%d %d", &n, &m);

	for (int i = 1; i <= m; i++)
	{
		int u, v;
		scanf("%d %d", &u, &v);

		grafo[u].push_back({v, i});
		grafo[v].push_back({u, i});
	}

	dfs(1);

	for (int i = 1; i <= qtd; i++)
	{
		printf("%d", ans[i][0]);
		for (int j = 1; j < ans[i].size(); j++)
			printf(" %d", ans[i][j]);
		printf("\n");
	}
}

Compilation message

postmen.cpp: In function 'int main()':
postmen.cpp:68:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int j = 1; j < ans[i].size(); j++)
                   ~~^~~~~~~~~~~~~~~
postmen.cpp:52:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &n, &m);
  ~~~~~^~~~~~~~~~~~~~~~~
postmen.cpp:57:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &u, &v);
   ~~~~~^~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 24 ms 23808 KB Output is correct
2 Correct 21 ms 23808 KB Output is correct
3 Correct 18 ms 23808 KB Output is correct
4 Correct 28 ms 24168 KB Output is correct
5 Correct 24 ms 23936 KB Output is correct
6 Correct 32 ms 24320 KB Output is correct
7 Correct 31 ms 25576 KB Output is correct
8 Correct 28 ms 24064 KB Output is correct
9 Correct 122 ms 34552 KB Output is correct
10 Correct 19 ms 24064 KB Output is correct
11 Correct 22 ms 24064 KB Output is correct
12 Correct 89 ms 34828 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 23 ms 23808 KB Output is correct
2 Correct 17 ms 23824 KB Output is correct
3 Correct 19 ms 23808 KB Output is correct
4 Correct 25 ms 24192 KB Output is correct
5 Correct 21 ms 23936 KB Output is correct
6 Correct 20 ms 24320 KB Output is correct
7 Correct 29 ms 25560 KB Output is correct
8 Correct 22 ms 24072 KB Output is correct
9 Correct 111 ms 34564 KB Output is correct
10 Correct 21 ms 24064 KB Output is correct
11 Correct 23 ms 24064 KB Output is correct
12 Correct 103 ms 34784 KB Output is correct
13 Correct 109 ms 36340 KB Output is correct
14 Correct 116 ms 32040 KB Output is correct
15 Execution timed out 1086 ms 35396 KB Time limit exceeded
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 22 ms 23808 KB Output is correct
2 Correct 23 ms 23808 KB Output is correct
3 Correct 19 ms 23812 KB Output is correct
4 Correct 23 ms 24244 KB Output is correct
5 Correct 24 ms 23876 KB Output is correct
6 Correct 25 ms 24320 KB Output is correct
7 Correct 28 ms 25600 KB Output is correct
8 Correct 20 ms 24064 KB Output is correct
9 Correct 108 ms 34460 KB Output is correct
10 Correct 24 ms 24064 KB Output is correct
11 Correct 20 ms 24064 KB Output is correct
12 Correct 89 ms 34912 KB Output is correct
13 Correct 150 ms 36372 KB Output is correct
14 Correct 131 ms 31996 KB Output is correct
15 Execution timed out 1089 ms 35472 KB Time limit exceeded
16 Halted 0 ms 0 KB -