이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
vector <vector <int>> dd;
const int n = 18;
int main () {
for (int i = 0; i < (1 << n); i++) {
vector <int> x;
int freq[n + 1] = {};
for (int j = 0; j < n; j++) {
if ((i >> j) & 1) {
freq[j + 1] = 1;
x.push_back(j + 1);
}
}
bool flag = 0;
for (int i = 0; i < n; i++) for (int j = 1; j < n; j++) {
if (freq[i + 1] && freq[j + 1]) flag |= !freq[__gcd(i + 1, j + 1)];
}
if (flag) continue;
reverse(x.begin(), x.end());
dd.push_back(x);
}
sort(dd.begin(), dd.end());
int t;
cin >> t;
while (t--) {
int k;
cin >> k;
cout << dd[k].size() << " ";
reverse(dd[k].begin(), dd[k].end());
for (auto j : dd[k]) cout << j << " ";
cout << '\n';
reverse(dd[k].begin(), dd[k].end());
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |