답안 #566689

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
566689 2022-05-22T16:25:05 Z two_sides Alternating Current (BOI18_alternating) C++17
13 / 100
21 ms 11288 KB
#include <bits/stdc++.h>

using namespace std;

const int N = 100005;

int cnt[N], l[N], r[N], n, m;
vector<pair<int, int>> adj[N];
vector<int> path;
bool vis[N];

bool dfs(int u) {
    if (u == n) return 1;
    if (vis[u]) return 0;
    vis[u] = 1;
    for (auto e : adj[u]) {
        int v, i; tie(v, i) = e;
        path.push_back(i);
        if (dfs(v)) return 1;
        path.pop_back();
    }
    return 0;
}

int main() {
    cin.tie(0)->sync_with_stdio(0);
    cin >> n >> m;
    for (int i = 1; i <= m; i++)
        cin >> l[i] >> r[i];
    {
        int x = *min_element(l + 1, l + m + 1);
        for (int i = 1; i <= m; i++) {
            l[i] -= x; r[i] -= x;
            if (r[i] < 0) r[i] += n;
        }
    }
    for (int i = 1; i <= m; i++)
        if (l[i] <= r[i]) {
            cnt[l[i]]++; cnt[r[i] + 1]--;
            adj[l[i]].emplace_back(r[i] + 1, i);
            adj[l[i] + n].emplace_back(r[i] + 1 + n, i);
        } else {
            cnt[0]++; cnt[l[i]]++; cnt[r[i] + 1]--;
            adj[l[i]].emplace_back(r[i] + 1 + n, i);
        }
    for (int i = 0; i < n; i++) {    
        cnt[i + 1] += cnt[i];
        if (cnt[i] < 2)
            return cout << "impossible", 0;
        if (cnt[i] > 2) {
            adj[i + 1].emplace_back(i, 0);
            adj[i + 1 + n].emplace_back(i + n, 0);
        }
    }
    if (dfs(0)) {
        memset(cnt, 0, sizeof cnt);
        for (int i : path) cnt[i] = 1;
        for (int i = 1; i <= m; i++)
            cout << cnt[i];
    } else cout << "impossible";
}
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 3028 KB Output is correct
2 Correct 3 ms 3028 KB Output is correct
3 Correct 2 ms 3028 KB Output is correct
4 Correct 2 ms 3060 KB Output is correct
5 Correct 2 ms 3028 KB Output is correct
6 Correct 2 ms 3028 KB Output is correct
7 Correct 2 ms 3028 KB Output is correct
8 Correct 2 ms 2644 KB Output is correct
9 Correct 2 ms 3028 KB Output is correct
10 Correct 1 ms 2644 KB Output is correct
11 Correct 2 ms 2644 KB Output is correct
12 Correct 2 ms 3028 KB Output is correct
13 Correct 1 ms 2644 KB Output is correct
14 Correct 2 ms 3028 KB Output is correct
15 Correct 2 ms 3028 KB Output is correct
16 Correct 2 ms 3028 KB Output is correct
17 Correct 2 ms 3028 KB Output is correct
18 Correct 2 ms 3028 KB Output is correct
19 Correct 2 ms 3028 KB Output is correct
20 Correct 3 ms 3028 KB Output is correct
21 Correct 2 ms 3028 KB Output is correct
22 Correct 2 ms 3028 KB Output is correct
23 Correct 2 ms 3028 KB Output is correct
24 Correct 2 ms 3028 KB Output is correct
25 Correct 2 ms 3028 KB Output is correct
26 Correct 2 ms 3028 KB Output is correct
27 Correct 3 ms 2644 KB Output is correct
28 Correct 2 ms 3028 KB Output is correct
29 Correct 2 ms 2644 KB Output is correct
30 Correct 2 ms 2644 KB Output is correct
31 Correct 2 ms 3028 KB Output is correct
32 Correct 1 ms 2644 KB Output is correct
33 Correct 2 ms 3028 KB Output is correct
34 Correct 1 ms 2644 KB Output is correct
35 Correct 1 ms 2644 KB Output is correct
36 Correct 2 ms 3028 KB Output is correct
37 Correct 3 ms 3028 KB Output is correct
38 Correct 2 ms 2644 KB Output is correct
39 Correct 2 ms 3028 KB Output is correct
40 Correct 2 ms 3028 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 3028 KB Output is correct
2 Correct 3 ms 3028 KB Output is correct
3 Correct 2 ms 3028 KB Output is correct
4 Correct 2 ms 3060 KB Output is correct
5 Correct 2 ms 3028 KB Output is correct
6 Correct 2 ms 3028 KB Output is correct
7 Correct 2 ms 3028 KB Output is correct
8 Correct 2 ms 2644 KB Output is correct
9 Correct 2 ms 3028 KB Output is correct
10 Correct 1 ms 2644 KB Output is correct
11 Correct 2 ms 2644 KB Output is correct
12 Correct 2 ms 3028 KB Output is correct
13 Correct 1 ms 2644 KB Output is correct
14 Correct 2 ms 3028 KB Output is correct
15 Correct 2 ms 3028 KB Output is correct
16 Correct 2 ms 3028 KB Output is correct
17 Correct 2 ms 3028 KB Output is correct
18 Correct 2 ms 3028 KB Output is correct
19 Correct 2 ms 3028 KB Output is correct
20 Correct 3 ms 3028 KB Output is correct
21 Correct 2 ms 3028 KB Output is correct
22 Correct 2 ms 3028 KB Output is correct
23 Correct 2 ms 3028 KB Output is correct
24 Correct 2 ms 3028 KB Output is correct
25 Correct 2 ms 3028 KB Output is correct
26 Correct 2 ms 3028 KB Output is correct
27 Correct 3 ms 2644 KB Output is correct
28 Correct 2 ms 3028 KB Output is correct
29 Correct 2 ms 2644 KB Output is correct
30 Correct 2 ms 2644 KB Output is correct
31 Correct 2 ms 3028 KB Output is correct
32 Correct 1 ms 2644 KB Output is correct
33 Correct 2 ms 3028 KB Output is correct
34 Correct 1 ms 2644 KB Output is correct
35 Correct 1 ms 2644 KB Output is correct
36 Correct 2 ms 3028 KB Output is correct
37 Correct 3 ms 3028 KB Output is correct
38 Correct 2 ms 2644 KB Output is correct
39 Correct 2 ms 3028 KB Output is correct
40 Correct 2 ms 3028 KB Output is correct
41 Correct 2 ms 3028 KB Output is correct
42 Correct 3 ms 3028 KB Output is correct
43 Correct 2 ms 3028 KB Output is correct
44 Correct 2 ms 3028 KB Output is correct
45 Correct 1 ms 3028 KB Output is correct
46 Correct 2 ms 3028 KB Output is correct
47 Correct 2 ms 3028 KB Output is correct
48 Correct 1 ms 2644 KB Output is correct
49 Correct 2 ms 3028 KB Output is correct
50 Correct 2 ms 2644 KB Output is correct
51 Correct 2 ms 2644 KB Output is correct
52 Correct 2 ms 2644 KB Output is correct
53 Correct 3 ms 2644 KB Output is correct
54 Correct 3 ms 3072 KB Output is correct
55 Correct 2 ms 3028 KB Output is correct
56 Correct 2 ms 3028 KB Output is correct
57 Incorrect 1 ms 2644 KB 'impossible' claimed, but there is a solution
58 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 3028 KB Output is correct
2 Correct 3 ms 3028 KB Output is correct
3 Correct 2 ms 3028 KB Output is correct
4 Correct 2 ms 3060 KB Output is correct
5 Correct 2 ms 3028 KB Output is correct
6 Correct 2 ms 3028 KB Output is correct
7 Correct 2 ms 3028 KB Output is correct
8 Correct 2 ms 2644 KB Output is correct
9 Correct 2 ms 3028 KB Output is correct
10 Correct 1 ms 2644 KB Output is correct
11 Correct 2 ms 2644 KB Output is correct
12 Correct 2 ms 3028 KB Output is correct
13 Correct 1 ms 2644 KB Output is correct
14 Correct 2 ms 3028 KB Output is correct
15 Correct 2 ms 3028 KB Output is correct
16 Correct 2 ms 3028 KB Output is correct
17 Correct 2 ms 3028 KB Output is correct
18 Correct 2 ms 3028 KB Output is correct
19 Correct 2 ms 3028 KB Output is correct
20 Correct 3 ms 3028 KB Output is correct
21 Correct 2 ms 3028 KB Output is correct
22 Correct 2 ms 3028 KB Output is correct
23 Correct 2 ms 3028 KB Output is correct
24 Correct 2 ms 3028 KB Output is correct
25 Correct 2 ms 3028 KB Output is correct
26 Correct 2 ms 3028 KB Output is correct
27 Correct 3 ms 2644 KB Output is correct
28 Correct 2 ms 3028 KB Output is correct
29 Correct 2 ms 2644 KB Output is correct
30 Correct 2 ms 2644 KB Output is correct
31 Correct 2 ms 3028 KB Output is correct
32 Correct 1 ms 2644 KB Output is correct
33 Correct 2 ms 3028 KB Output is correct
34 Correct 1 ms 2644 KB Output is correct
35 Correct 1 ms 2644 KB Output is correct
36 Correct 2 ms 3028 KB Output is correct
37 Correct 3 ms 3028 KB Output is correct
38 Correct 2 ms 2644 KB Output is correct
39 Correct 2 ms 3028 KB Output is correct
40 Correct 2 ms 3028 KB Output is correct
41 Correct 2 ms 3028 KB Output is correct
42 Correct 3 ms 3028 KB Output is correct
43 Correct 2 ms 3028 KB Output is correct
44 Correct 2 ms 3028 KB Output is correct
45 Correct 1 ms 3028 KB Output is correct
46 Correct 2 ms 3028 KB Output is correct
47 Correct 2 ms 3028 KB Output is correct
48 Correct 1 ms 2644 KB Output is correct
49 Correct 2 ms 3028 KB Output is correct
50 Correct 2 ms 2644 KB Output is correct
51 Correct 2 ms 2644 KB Output is correct
52 Correct 2 ms 2644 KB Output is correct
53 Correct 3 ms 2644 KB Output is correct
54 Correct 3 ms 3072 KB Output is correct
55 Correct 2 ms 3028 KB Output is correct
56 Correct 2 ms 3028 KB Output is correct
57 Incorrect 1 ms 2644 KB 'impossible' claimed, but there is a solution
58 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 21 ms 11288 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 3028 KB Output is correct
2 Correct 3 ms 3028 KB Output is correct
3 Correct 2 ms 3028 KB Output is correct
4 Correct 2 ms 3060 KB Output is correct
5 Correct 2 ms 3028 KB Output is correct
6 Correct 2 ms 3028 KB Output is correct
7 Correct 2 ms 3028 KB Output is correct
8 Correct 2 ms 2644 KB Output is correct
9 Correct 2 ms 3028 KB Output is correct
10 Correct 1 ms 2644 KB Output is correct
11 Correct 2 ms 2644 KB Output is correct
12 Correct 2 ms 3028 KB Output is correct
13 Correct 1 ms 2644 KB Output is correct
14 Correct 2 ms 3028 KB Output is correct
15 Correct 2 ms 3028 KB Output is correct
16 Correct 2 ms 3028 KB Output is correct
17 Correct 2 ms 3028 KB Output is correct
18 Correct 2 ms 3028 KB Output is correct
19 Correct 2 ms 3028 KB Output is correct
20 Correct 3 ms 3028 KB Output is correct
21 Correct 2 ms 3028 KB Output is correct
22 Correct 2 ms 3028 KB Output is correct
23 Correct 2 ms 3028 KB Output is correct
24 Correct 2 ms 3028 KB Output is correct
25 Correct 2 ms 3028 KB Output is correct
26 Correct 2 ms 3028 KB Output is correct
27 Correct 3 ms 2644 KB Output is correct
28 Correct 2 ms 3028 KB Output is correct
29 Correct 2 ms 2644 KB Output is correct
30 Correct 2 ms 2644 KB Output is correct
31 Correct 2 ms 3028 KB Output is correct
32 Correct 1 ms 2644 KB Output is correct
33 Correct 2 ms 3028 KB Output is correct
34 Correct 1 ms 2644 KB Output is correct
35 Correct 1 ms 2644 KB Output is correct
36 Correct 2 ms 3028 KB Output is correct
37 Correct 3 ms 3028 KB Output is correct
38 Correct 2 ms 2644 KB Output is correct
39 Correct 2 ms 3028 KB Output is correct
40 Correct 2 ms 3028 KB Output is correct
41 Correct 2 ms 3028 KB Output is correct
42 Correct 3 ms 3028 KB Output is correct
43 Correct 2 ms 3028 KB Output is correct
44 Correct 2 ms 3028 KB Output is correct
45 Correct 1 ms 3028 KB Output is correct
46 Correct 2 ms 3028 KB Output is correct
47 Correct 2 ms 3028 KB Output is correct
48 Correct 1 ms 2644 KB Output is correct
49 Correct 2 ms 3028 KB Output is correct
50 Correct 2 ms 2644 KB Output is correct
51 Correct 2 ms 2644 KB Output is correct
52 Correct 2 ms 2644 KB Output is correct
53 Correct 3 ms 2644 KB Output is correct
54 Correct 3 ms 3072 KB Output is correct
55 Correct 2 ms 3028 KB Output is correct
56 Correct 2 ms 3028 KB Output is correct
57 Incorrect 1 ms 2644 KB 'impossible' claimed, but there is a solution
58 Halted 0 ms 0 KB -