답안 #126336

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
126336 2019-07-07T12:19:45 Z eriksuenderhauf 007 (CEOI14_007) C++11
0 / 100
394 ms 41464 KB
//#pragma GCC optimize("O3")
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/rope>
#define mem(a,v) memset((a), (v), sizeof (a))
#define enl printf("\n")
#define case(t) printf("Case #%d: ", (t))
#define ni(n) scanf("%d", &(n))
#define nl(n) scanf("%lld", &(n))
#define nai(a, n) for (int i = 0; i < (n); i++) ni(a[i])
#define nal(a, n) for (int i = 0; i < (n); i++) nl(a[i])
#define pri(n) printf("%d\n", (n))
#define prl(n) printf("%lld\n", (n))
#define pii pair<int, int>
#define pil pair<int, long long>
#define pll pair<long long, long long>
#define vii vector<pii>
#define vil vector<pil>
#define vll vector<pll>
#define vi vector<int>
#define vl vector<long long>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
using namespace __gnu_pbds;
typedef long long ll;
typedef cc_hash_table<int,int,hash<int>> ht;
typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> oset;
const double pi = acos(-1);
const int MOD = 1e9 + 7;
const int INF = 1e9 + 7;
const int MAXN = 1e6 + 5;
const double eps = 1e-9;
int n, m, dp[2][MAXN];
vi adj[MAXN];

pii bfs(int src, int x, int y, int p) {
	deque<int> pq;
	mem(dp[p], 0x3f);
	dp[p][src] = 0;
	pq.pb(src);
	while (!pq.empty()) {
		int u = pq.front(); pq.pop_front();
		for (int v: adj[u]) {
			if (dp[p][v] != 1061109567)
				continue;
			dp[p][v] = dp[p][u] + 1;
			pq.pb(v);
		}
	}
	return mp(dp[p][x], dp[p][y]);
}

int main() {
	int s, d, a, b;
	scanf("%d %d %d %d %d %d", &n, &m, &s, &d, &a, &b);
	for (int i = 1; i <= m; i++) {
		int u, v;
		scanf("%d %d", &u, &v);
		adj[u].pb(v);
		adj[v].pb(u);
	}
	pii a1 = bfs(s, a, b, 0);
	pii a2 = bfs(d, a, b, 1);
	pii a3 = bfs(a, a, b, 0);
	pii a4 = bfs(b, a, b, 1);
	//cerr << a1.fi << "/" << a2.fi << " | " << a1.se << "/" << a2.se << "\n";
	int ans = min(a2.fi - a1.fi, a2.se - a1.se);
	if (a2.fi == a2.se) {
		return -1;
		for (int i = 1; i <= n; i++) {
			
		}
	}
	
	if (ans < 0) ans = -1;
	pri(ans);
    return 0;
}

Compilation message

007.cpp: In function 'int main()':
007.cpp:68:6: warning: variable 'a3' set but not used [-Wunused-but-set-variable]
  pii a3 = bfs(a, a, b, 0);
      ^~
007.cpp:69:6: warning: variable 'a4' set but not used [-Wunused-but-set-variable]
  pii a4 = bfs(b, a, b, 1);
      ^~
007.cpp:59:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d %d %d %d %d", &n, &m, &s, &d, &a, &b);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
007.cpp:62: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 Runtime error 31 ms 31608 KB Execution failed because the return code was nonzero
2 Correct 31 ms 31608 KB Output is correct
3 Runtime error 31 ms 31608 KB Execution failed because the return code was nonzero
4 Runtime error 30 ms 31608 KB Execution failed because the return code was nonzero
5 Runtime error 31 ms 31608 KB Execution failed because the return code was nonzero
6 Runtime error 31 ms 31612 KB Execution failed because the return code was nonzero
7 Runtime error 30 ms 31608 KB Execution failed because the return code was nonzero
8 Runtime error 30 ms 31608 KB Execution failed because the return code was nonzero
9 Runtime error 30 ms 31608 KB Execution failed because the return code was nonzero
10 Runtime error 30 ms 31612 KB Execution failed because the return code was nonzero
11 Correct 30 ms 31608 KB Output is correct
12 Runtime error 30 ms 31624 KB Execution failed because the return code was nonzero
13 Runtime error 30 ms 31608 KB Execution failed because the return code was nonzero
14 Runtime error 31 ms 31608 KB Execution failed because the return code was nonzero
15 Runtime error 31 ms 31608 KB Execution failed because the return code was nonzero
16 Runtime error 30 ms 31608 KB Execution failed because the return code was nonzero
17 Runtime error 31 ms 31608 KB Execution failed because the return code was nonzero
18 Runtime error 38 ms 31608 KB Execution failed because the return code was nonzero
19 Runtime error 38 ms 31608 KB Execution failed because the return code was nonzero
20 Runtime error 37 ms 31608 KB Execution failed because the return code was nonzero
21 Correct 38 ms 31608 KB Output is correct
22 Runtime error 31 ms 31712 KB Execution failed because the return code was nonzero
23 Runtime error 31 ms 31612 KB Execution failed because the return code was nonzero
24 Runtime error 31 ms 31736 KB Execution failed because the return code was nonzero
# 결과 실행 시간 메모리 Grader output
1 Runtime error 63 ms 32920 KB Execution failed because the return code was nonzero
2 Runtime error 72 ms 33528 KB Execution failed because the return code was nonzero
3 Runtime error 63 ms 32988 KB Execution failed because the return code was nonzero
4 Runtime error 79 ms 33528 KB Execution failed because the return code was nonzero
5 Correct 62 ms 32760 KB Output is correct
6 Correct 63 ms 33016 KB Output is correct
7 Runtime error 66 ms 33196 KB Execution failed because the return code was nonzero
8 Runtime error 68 ms 33144 KB Execution failed because the return code was nonzero
9 Runtime error 80 ms 33528 KB Execution failed because the return code was nonzero
10 Runtime error 225 ms 37896 KB Execution failed because the return code was nonzero
11 Runtime error 106 ms 34424 KB Execution failed because the return code was nonzero
12 Runtime error 131 ms 35192 KB Execution failed because the return code was nonzero
13 Runtime error 120 ms 34680 KB Execution failed because the return code was nonzero
14 Runtime error 100 ms 34296 KB Execution failed because the return code was nonzero
15 Runtime error 129 ms 35192 KB Execution failed because the return code was nonzero
16 Correct 153 ms 35452 KB Output is correct
17 Runtime error 126 ms 35064 KB Execution failed because the return code was nonzero
18 Runtime error 152 ms 35064 KB Execution failed because the return code was nonzero
19 Runtime error 171 ms 36336 KB Execution failed because the return code was nonzero
20 Runtime error 275 ms 39004 KB Execution failed because the return code was nonzero
21 Runtime error 176 ms 36728 KB Execution failed because the return code was nonzero
22 Runtime error 170 ms 35992 KB Execution failed because the return code was nonzero
23 Correct 206 ms 36728 KB Output is correct
24 Runtime error 193 ms 36500 KB Execution failed because the return code was nonzero
25 Runtime error 215 ms 36316 KB Execution failed because the return code was nonzero
26 Correct 180 ms 36088 KB Output is correct
27 Runtime error 194 ms 36840 KB Execution failed because the return code was nonzero
28 Runtime error 204 ms 36600 KB Execution failed because the return code was nonzero
29 Runtime error 203 ms 37424 KB Execution failed because the return code was nonzero
30 Runtime error 296 ms 39536 KB Execution failed because the return code was nonzero
31 Runtime error 210 ms 37368 KB Execution failed because the return code was nonzero
32 Runtime error 214 ms 36668 KB Execution failed because the return code was nonzero
33 Correct 207 ms 36888 KB Output is correct
34 Runtime error 230 ms 37084 KB Execution failed because the return code was nonzero
35 Runtime error 212 ms 36856 KB Execution failed because the return code was nonzero
36 Runtime error 229 ms 36940 KB Execution failed because the return code was nonzero
37 Correct 390 ms 37752 KB Output is correct
38 Runtime error 238 ms 37632 KB Execution failed because the return code was nonzero
39 Runtime error 263 ms 37700 KB Execution failed because the return code was nonzero
40 Runtime error 279 ms 39268 KB Execution failed because the return code was nonzero
41 Runtime error 394 ms 41464 KB Execution failed because the return code was nonzero