답안 #1116047

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1116047 2024-11-21T08:15:54 Z vjudge1 Potemkin cycle (CEOI15_indcyc) C++17
30 / 100
1000 ms 1532 KB
#include <bits/stdc++.h>

using i64 = long long;

#ifdef DEBUG 
    #include "/home/ahmetalp/Desktop/Workplace/debug.h"
#else
    #define debug(...) void(23)
#endif

int lsb(int x) {
    return x & -x;
}

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int N, M;
    std::cin >> N >> M;
    std::vector<std::vector<int>> adj(N);
    for (int i = 0; i < M; ++i) {
        int A, B;
        std::cin >> A >> B;
        --A, --B;
        adj[A].emplace_back(B);
        adj[B].emplace_back(A);
    }

    for (int m = 0; m < (1 << N); ++m) {
        int popcnt = __builtin_popcount(m);
        if (popcnt < 4) {
            continue;
        }
        bool good = true;
        for (int i = 0; i < N; ++i) {
            if (m >> i & 1) {
                int cnt = 0;
                for (auto j : adj[i]) {
                    if (m >> j & 1) {
                        cnt += 1;
                    }
                }
                good &= cnt == 2;
            }
        }
        if (good) {
            int u = std::__lg(lsb(m)), v = std::__lg(lsb(m ^ (1 << u)));
            for (int i = 0; i < popcnt; ++i) {
                std::cout << u + 1 << ' ';
                for (auto j : adj[u]) {
                    if (m >> j & 1) {
                        if (j != v) {
                            v = u;
                            u = j;
                            break;
                        }
                    }
                }
            }
            return 0;
        }
    }

    std::cout << "no\n";

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 380 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 336 KB Output is correct
5 Correct 1 ms 336 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Expected integer, but "no" found
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 336 KB Expected integer, but "no" found
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 336 KB Output is correct
2 Incorrect 6 ms 336 KB Expected integer, but "no" found
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 7 ms 336 KB Expected integer, but "no" found
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 8 ms 1016 KB Expected integer, but "no" found
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 924 KB Expected integer, but "no" found
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1028 ms 1532 KB Time limit exceeded
2 Halted 0 ms 0 KB -