제출 #1299073

#제출 시각아이디문제언어결과실행 시간메모리
1299073NotLinuxPresent (RMI21_present)C++20
8 / 100
231 ms6912 KiB
#include <bits/stdc++.h>
using namespace std;
#define sz(x) (int)x.size()
#define all(x) x.begin() , x.end()
const int N = 19;
vector<vector<int>>store;
vector<int>vec;
int gcd(int a , int b){
	if(a == 0)return b;
	return gcd(b % a , a);
}
void dfs(int ind){
	if(ind == N+1){
		bool bl = 1;
		for(auto itr1 : vec){
			for(auto itr2 : vec){
				bl &= count(all(vec) , gcd(itr1 , itr2));
				if(!bl)break;
			}
		}
		if(bl)store.push_back(vec);
		return;
	}
	dfs(ind+1);
	vec.push_back(ind);
	dfs(ind+1);
	vec.pop_back();
}
void solve(){
    dfs(1);
    for(int i = 0;i<sz(store);i++){
    	reverse(all(store[i]));
    }
    sort(all(store));
    for(int i = 0;i<sz(store);i++){
    	reverse(all(store[i]));
    }
    // for(int i = 0;i<20;i++){
    // 	for(auto itr : store[i]){
    // 		cout << itr << " ";
    // 	}
    // 	cout << endl;
    // }
    int q;
    cin >> q;
    while(q--){
    	int x;
    	cin >> x;
    	cout << sz(store[x]) << " ";
    	for(auto itr : store[x]){
    		cout << itr << " ";
    	}
    	cout << '\n';
    }
}
signed main(){
	ios_base::sync_with_stdio(0);cin.tie(0);
	int testcase=1;//cin >> testcase;
	while(testcase--)solve();
	cerr << 1000.0 * clock() / CLOCKS_PER_SEC << " ms" << endl;
}
#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...