답안 #288633

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
288633 2020-09-01T17:23:54 Z LordOfIran 어르신 집배원 (BOI14_postmen) C++17
55 / 100
500 ms 71804 KB
//                             In The Name Of Allah                                           
#include <bits/stdc++.h>
#define	ss second
#define ff first
#define use_fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define se(n) cout << setprecision(n) << fixed
#define pb push_back
//#define ll long long
#define ld long double
#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops")
#pragma GCC optimize("no-stack-protector,fast-math")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
using namespace std; 
const int N = 1e6 + 100, OO = 1e9 + 7, K = 1e7 + 4, T = 22, M = 1e9 + 7, P = 6151, SQ = 1300, lg = 22;
typedef pair <int, int> pii;
bool mark[N];
int num[N];
vector <pii> v[N];
vector <int> ET;

void dfs(int x) {
	while((int)v[x].size()) {
		pii p = v[x].back();
		v[x].pop_back();
		if(mark[p.ss])
			continue;
		mark[p.ss] = true;
		dfs(p.ff);
		ET.pb(x);
	}
}

int32_t main() {
	use_fast;
	int n, m;
	cin >> n >> m;
	for(int i = 0; i < m; i++) {
		int x, y;
		cin >> x >> y;
		v[x].pb({y, i});
		v[y].pb({x, i});
	}
	dfs(1);
	vector <int> ht;
	for(auto u : ET) {
		if(num[u]) {
			cout << u;
			while(ht.back() != u)
				cout << " " << ht.back(), num[ht.back()]--, ht.pop_back();
			cout << endl;
	//		for(auto u : ht)
	//			cout << u << " ";
	//		return 0;
		}
		else 
			ht.pb(u), num[u]++;
	}
	for(auto u : ht)
		cout << u << " ";
	cout << endl;
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23808 KB Output is correct
2 Correct 16 ms 23808 KB Output is correct
3 Correct 16 ms 23808 KB Output is correct
4 Correct 19 ms 24064 KB Output is correct
5 Correct 17 ms 23936 KB Output is correct
6 Correct 18 ms 24192 KB Output is correct
7 Correct 23 ms 24960 KB Output is correct
8 Correct 17 ms 24064 KB Output is correct
9 Correct 59 ms 29948 KB Output is correct
10 Correct 21 ms 24064 KB Output is correct
11 Correct 19 ms 24064 KB Output is correct
12 Correct 67 ms 30196 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23808 KB Output is correct
2 Correct 16 ms 23808 KB Output is correct
3 Correct 17 ms 23808 KB Output is correct
4 Correct 20 ms 24064 KB Output is correct
5 Correct 17 ms 23936 KB Output is correct
6 Correct 19 ms 24096 KB Output is correct
7 Correct 24 ms 24960 KB Output is correct
8 Correct 18 ms 23936 KB Output is correct
9 Correct 60 ms 29948 KB Output is correct
10 Correct 19 ms 24064 KB Output is correct
11 Correct 19 ms 24064 KB Output is correct
12 Correct 67 ms 30328 KB Output is correct
13 Correct 81 ms 32112 KB Output is correct
14 Correct 124 ms 30064 KB Output is correct
15 Correct 145 ms 31292 KB Output is correct
16 Correct 85 ms 32132 KB Output is correct
17 Correct 148 ms 28404 KB Output is correct
18 Correct 129 ms 30704 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 23808 KB Output is correct
2 Correct 16 ms 23808 KB Output is correct
3 Correct 16 ms 23808 KB Output is correct
4 Correct 20 ms 24064 KB Output is correct
5 Correct 17 ms 23936 KB Output is correct
6 Correct 19 ms 24192 KB Output is correct
7 Correct 26 ms 24960 KB Output is correct
8 Correct 18 ms 23936 KB Output is correct
9 Correct 61 ms 29948 KB Output is correct
10 Correct 20 ms 24064 KB Output is correct
11 Correct 19 ms 24064 KB Output is correct
12 Correct 69 ms 30196 KB Output is correct
13 Correct 85 ms 32112 KB Output is correct
14 Correct 128 ms 30192 KB Output is correct
15 Correct 145 ms 31336 KB Output is correct
16 Correct 83 ms 32112 KB Output is correct
17 Correct 153 ms 28400 KB Output is correct
18 Correct 131 ms 30704 KB Output is correct
19 Correct 481 ms 71804 KB Output is correct
20 Execution timed out 707 ms 61800 KB Time limit exceeded
21 Halted 0 ms 0 KB -