Submission #1289667

#TimeUsernameProblemLanguageResultExecution timeMemory
1289667azradudukalayNorela (info1cup18_norela)C++20
0 / 100
1 ms332 KiB
#include <bits/stdc++.h>
using namespace std;
int n, m, en_az;
vector<vector<int>> buyu;
vector<int> cozum;
void dfs(int idx, bitset<24> &kart, vector<int> &secilen) {
    if(secilen.size() >= en_az) {
        return;
    }
    if(idx == m) {
        if(kart.all()) {
            en_az = secilen.size();
            cozum = secilen;
        }
        return;
    }
    dfs(idx + 1, kart, secilen);
    for(int c : buyu[idx]) {
        kart.flip(c);
    }
    secilen.push_back(idx + 1);
    dfs(idx + 1, kart, secilen);
    secilen.pop_back();
    for(int c : buyu[idx]) {
        kart.flip(c);
    }
}
int main() {
    ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
    cin >> n >> m;
    buyu.resize(m);
    for(int i = 0; i < m; i++) {
        int k;
        cin >> k;
        buyu[i].resize(k);
        for(int j = 0; j < k; j++) {
            cin >> buyu[i][j];
            buyu[i][j]--;
        }
    }
    bitset<24> kart;
    en_az = m + 1;
    vector<int> secilen;
    dfs(0, kart, secilen);
    cout << en_az << "\n";
    for(int i = 0; i < cozum.size(); i++) {
        if(i) {
            cout << " ";
        }
        cout << cozum[i];
    }
    cout << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...