#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<ll, int> plli;
typedef pair<double, double> pdd;
typedef pair<string, int> psi;
const int MOD = 1e9 + 7;
const ll oo = 1e15;
typedef long long ll;
int n , m;
pii d[30010];
bitset<30010> vis[2010];
vector<int> dogs[2010];
int main() {
//freopen("input.txt","r",stdin);
scanf("%d%d",&n,&m);
for (int i = 0; i < m; ++i){
scanf("%d%d",&d[i].first,&d[i].second);
dogs[d[i].first].push_back(d[i].second);
}
for (int i = 1; i <= n; ++i){
sort(dogs[i].begin(),dogs[i].end());
dogs[i].resize(unique(dogs[i].begin(),dogs[i].end()) - dogs[i].begin());
}
deque< pair<int , pii > > q;
vis[d[0].first][d[0].second] = 1;
q.push_front(make_pair(0,make_pair(d[0].first,d[0].second)));
while(!q.empty()){
pair<int , pii > src = q.front();
if(src.second.first == d[1].first){
printf("%d\n", src.first);
return 0;
}
q.pop_front();
for (int i = 0; i < dogs[src.second.first].size(); ++i){
int nw = dogs[src.second.first][i];
if(vis[src.second.first][nw])
continue;
vis[src.second.first][nw] = 1;
q.push_front(make_pair(src.first,make_pair(src.second.first,nw)));
}
for(int i = -1 ; i <= 1 ; i+= 2){
int nw = src.second.first + src.second.second* i;
if(nw < 0 || nw >= n)
continue;
if(vis[nw][src.second.second])
continue;
vis[nw][src.second.second]=1;
q.push_back(make_pair(1 + src.first,make_pair(nw,src.second.second)));
}
}
puts("-1");
return 0;
}
Compilation message
skyscraper.cpp: In function 'int main()':
skyscraper.cpp:48:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < dogs[src.second.first].size(); ++i){
^
skyscraper.cpp:29:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d",&n,&m);
^
skyscraper.cpp:31:41: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d",&d[i].first,&d[i].second);
^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
9668 KB |
Output is correct |
2 |
Correct |
0 ms |
9668 KB |
Output is correct |
3 |
Correct |
0 ms |
9668 KB |
Output is correct |
4 |
Correct |
0 ms |
9668 KB |
Output is correct |
5 |
Correct |
0 ms |
9668 KB |
Output is correct |
6 |
Correct |
0 ms |
9668 KB |
Output is correct |
7 |
Correct |
0 ms |
9668 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
9668 KB |
Output is correct |
2 |
Correct |
0 ms |
9668 KB |
Output is correct |
3 |
Correct |
0 ms |
9668 KB |
Output is correct |
4 |
Correct |
0 ms |
9668 KB |
Output is correct |
5 |
Correct |
0 ms |
9668 KB |
Output is correct |
6 |
Correct |
0 ms |
9668 KB |
Output is correct |
7 |
Correct |
0 ms |
9668 KB |
Output is correct |
8 |
Correct |
0 ms |
9668 KB |
Output is correct |
9 |
Correct |
0 ms |
9668 KB |
Output is correct |
10 |
Correct |
0 ms |
9668 KB |
Output is correct |
11 |
Correct |
0 ms |
9668 KB |
Output is correct |
12 |
Correct |
0 ms |
9668 KB |
Output is correct |
13 |
Correct |
0 ms |
9668 KB |
Output is correct |
14 |
Correct |
0 ms |
9668 KB |
Output is correct |
15 |
Correct |
0 ms |
9668 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
9668 KB |
Output is correct |
2 |
Correct |
0 ms |
9668 KB |
Output is correct |
3 |
Correct |
0 ms |
9668 KB |
Output is correct |
4 |
Correct |
0 ms |
9668 KB |
Output is correct |
5 |
Correct |
0 ms |
9668 KB |
Output is correct |
6 |
Correct |
0 ms |
9668 KB |
Output is correct |
7 |
Correct |
0 ms |
9668 KB |
Output is correct |
8 |
Correct |
0 ms |
9668 KB |
Output is correct |
9 |
Correct |
0 ms |
9668 KB |
Output is correct |
10 |
Correct |
0 ms |
9668 KB |
Output is correct |
11 |
Correct |
0 ms |
9668 KB |
Output is correct |
12 |
Correct |
0 ms |
9668 KB |
Output is correct |
13 |
Correct |
0 ms |
9668 KB |
Output is correct |
14 |
Correct |
0 ms |
9668 KB |
Output is correct |
15 |
Correct |
0 ms |
9668 KB |
Output is correct |
16 |
Correct |
0 ms |
9668 KB |
Output is correct |
17 |
Correct |
0 ms |
9668 KB |
Output is correct |
18 |
Correct |
0 ms |
9668 KB |
Output is correct |
19 |
Correct |
0 ms |
9668 KB |
Output is correct |
20 |
Correct |
0 ms |
9800 KB |
Output is correct |
21 |
Correct |
0 ms |
9668 KB |
Output is correct |
22 |
Correct |
0 ms |
9668 KB |
Output is correct |
23 |
Correct |
0 ms |
9668 KB |
Output is correct |
24 |
Correct |
0 ms |
9668 KB |
Output is correct |
25 |
Correct |
0 ms |
9668 KB |
Output is correct |
26 |
Correct |
0 ms |
9668 KB |
Output is correct |
27 |
Correct |
0 ms |
9668 KB |
Output is correct |
28 |
Correct |
0 ms |
9800 KB |
Output is correct |
29 |
Correct |
0 ms |
9668 KB |
Output is correct |
30 |
Correct |
0 ms |
9668 KB |
Output is correct |
31 |
Correct |
0 ms |
9668 KB |
Output is correct |
32 |
Correct |
0 ms |
9668 KB |
Output is correct |
33 |
Correct |
3 ms |
9668 KB |
Output is correct |
34 |
Correct |
3 ms |
9668 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
9668 KB |
Output is correct |
2 |
Correct |
0 ms |
9668 KB |
Output is correct |
3 |
Correct |
0 ms |
9668 KB |
Output is correct |
4 |
Correct |
0 ms |
9668 KB |
Output is correct |
5 |
Correct |
0 ms |
9668 KB |
Output is correct |
6 |
Correct |
0 ms |
9668 KB |
Output is correct |
7 |
Correct |
0 ms |
9668 KB |
Output is correct |
8 |
Correct |
0 ms |
9668 KB |
Output is correct |
9 |
Correct |
0 ms |
9668 KB |
Output is correct |
10 |
Correct |
0 ms |
9668 KB |
Output is correct |
11 |
Correct |
0 ms |
9668 KB |
Output is correct |
12 |
Correct |
0 ms |
9668 KB |
Output is correct |
13 |
Correct |
0 ms |
9668 KB |
Output is correct |
14 |
Correct |
0 ms |
9668 KB |
Output is correct |
15 |
Correct |
0 ms |
9668 KB |
Output is correct |
16 |
Correct |
0 ms |
9668 KB |
Output is correct |
17 |
Correct |
0 ms |
9668 KB |
Output is correct |
18 |
Correct |
0 ms |
9668 KB |
Output is correct |
19 |
Correct |
0 ms |
9668 KB |
Output is correct |
20 |
Correct |
0 ms |
9800 KB |
Output is correct |
21 |
Correct |
0 ms |
9668 KB |
Output is correct |
22 |
Correct |
0 ms |
9668 KB |
Output is correct |
23 |
Correct |
3 ms |
9668 KB |
Output is correct |
24 |
Correct |
3 ms |
9668 KB |
Output is correct |
25 |
Correct |
3 ms |
9668 KB |
Output is correct |
26 |
Correct |
0 ms |
9668 KB |
Output is correct |
27 |
Correct |
3 ms |
9668 KB |
Output is correct |
28 |
Correct |
0 ms |
9800 KB |
Output is correct |
29 |
Correct |
3 ms |
9668 KB |
Output is correct |
30 |
Correct |
3 ms |
9668 KB |
Output is correct |
31 |
Correct |
0 ms |
9668 KB |
Output is correct |
32 |
Correct |
6 ms |
9668 KB |
Output is correct |
33 |
Correct |
6 ms |
9668 KB |
Output is correct |
34 |
Correct |
0 ms |
9668 KB |
Output is correct |
35 |
Correct |
13 ms |
10064 KB |
Output is correct |
36 |
Correct |
3 ms |
9800 KB |
Output is correct |
37 |
Correct |
16 ms |
10064 KB |
Output is correct |
38 |
Correct |
19 ms |
10204 KB |
Output is correct |
39 |
Correct |
9 ms |
9932 KB |
Output is correct |
40 |
Correct |
13 ms |
9932 KB |
Output is correct |
41 |
Correct |
9 ms |
9932 KB |
Output is correct |
42 |
Correct |
3 ms |
9944 KB |
Output is correct |
43 |
Correct |
6 ms |
9944 KB |
Output is correct |
44 |
Correct |
6 ms |
9940 KB |
Output is correct |
45 |
Correct |
33 ms |
10196 KB |
Output is correct |
46 |
Correct |
23 ms |
10196 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
9668 KB |
Output is correct |
2 |
Correct |
0 ms |
9668 KB |
Output is correct |
3 |
Correct |
0 ms |
9668 KB |
Output is correct |
4 |
Correct |
0 ms |
9668 KB |
Output is correct |
5 |
Correct |
0 ms |
9668 KB |
Output is correct |
6 |
Correct |
0 ms |
9668 KB |
Output is correct |
7 |
Correct |
0 ms |
9668 KB |
Output is correct |
8 |
Correct |
0 ms |
9668 KB |
Output is correct |
9 |
Correct |
0 ms |
9668 KB |
Output is correct |
10 |
Correct |
0 ms |
9668 KB |
Output is correct |
11 |
Correct |
0 ms |
9668 KB |
Output is correct |
12 |
Correct |
0 ms |
9668 KB |
Output is correct |
13 |
Correct |
0 ms |
9668 KB |
Output is correct |
14 |
Correct |
0 ms |
9668 KB |
Output is correct |
15 |
Correct |
0 ms |
9668 KB |
Output is correct |
16 |
Correct |
0 ms |
9668 KB |
Output is correct |
17 |
Correct |
0 ms |
9668 KB |
Output is correct |
18 |
Correct |
0 ms |
9668 KB |
Output is correct |
19 |
Correct |
0 ms |
9668 KB |
Output is correct |
20 |
Correct |
0 ms |
9800 KB |
Output is correct |
21 |
Correct |
0 ms |
9668 KB |
Output is correct |
22 |
Correct |
0 ms |
9668 KB |
Output is correct |
23 |
Correct |
3 ms |
9668 KB |
Output is correct |
24 |
Correct |
0 ms |
9668 KB |
Output is correct |
25 |
Correct |
0 ms |
9668 KB |
Output is correct |
26 |
Correct |
0 ms |
9668 KB |
Output is correct |
27 |
Correct |
0 ms |
9668 KB |
Output is correct |
28 |
Correct |
0 ms |
9800 KB |
Output is correct |
29 |
Correct |
3 ms |
9668 KB |
Output is correct |
30 |
Correct |
6 ms |
9668 KB |
Output is correct |
31 |
Correct |
0 ms |
9668 KB |
Output is correct |
32 |
Correct |
0 ms |
9668 KB |
Output is correct |
33 |
Correct |
3 ms |
9668 KB |
Output is correct |
34 |
Correct |
0 ms |
9668 KB |
Output is correct |
35 |
Correct |
9 ms |
10064 KB |
Output is correct |
36 |
Correct |
0 ms |
9800 KB |
Output is correct |
37 |
Correct |
9 ms |
10064 KB |
Output is correct |
38 |
Correct |
16 ms |
10204 KB |
Output is correct |
39 |
Correct |
9 ms |
9932 KB |
Output is correct |
40 |
Correct |
9 ms |
9932 KB |
Output is correct |
41 |
Correct |
9 ms |
9932 KB |
Output is correct |
42 |
Correct |
3 ms |
9944 KB |
Output is correct |
43 |
Correct |
6 ms |
9944 KB |
Output is correct |
44 |
Correct |
6 ms |
9940 KB |
Output is correct |
45 |
Correct |
33 ms |
10196 KB |
Output is correct |
46 |
Correct |
26 ms |
10196 KB |
Output is correct |
47 |
Runtime error |
9 ms |
10064 KB |
Execution killed with signal 11 (could be triggered by violating memory limits) |
48 |
Halted |
0 ms |
0 KB |
- |