Submission #736919

#TimeUsernameProblemLanguageResultExecution timeMemory
736919puppyPresent (RMI21_present)C++17
8 / 100
3 ms340 KiB
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool valid(int k) //1부터 12까지
{
    vector<int> s;
    for (int i = 0; i < 12; i++) {
        if (k & (1 << i)) s.push_back(i + 1);
    }
    for (int i: s) {
        for (int j: s) {
            if ((1 << (__gcd(i, j) - 1)) & k) continue;
            else return false;
        }
    }
    return true;
}
void print_set(int k)
{
    cout << __builtin_popcount(k) << ' ';
    for (int i = 0; i < 12; i++) {
        if (k & (1 << i))cout << i + 1 << ' ';
    }
    cout << '\n';
}
int main()
{
    vector<int> v;
    v.push_back(0);
    for (int i = 1; i < (1 << 12); i++) {
        if (valid(i)) v.push_back(i);
    }
    int T; cin >> T;
    while (T--) {
        int K; cin >> K;
        print_set(v[K]);
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...