# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
991661 | Abito | Present (RMI21_present) | C++17 | 2701 ms | 464724 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define ppb pop_back
#define ep insert
#define endl '\n'
#define elif else if
#define pow pwr
#define sqrt sqrtt
#define int long long
#define y1 YONE
typedef unsigned long long ull;
using namespace std;
vector<vector<int>> S;
int g[30][30];
bool a[30];
bool cmp(vector<int> x,vector<int> y){
for (int i=1;(int)min(x.size(),y.size())-i>=0;i++){
if (x[x.size()-i]!=y[y.size()-i]) return x[x.size()-i]<y[y.size()-i];
}
return x.size()<y.size();
}
void rec(int i){
if (i==0){
vector<int> v;
for (int i=1;i<=25;i++) if (a[i]) v.pb(i);
S.pb(v);
return;
}
rec(i-1);
if (a[i]) return;
vector<int> v;v.pb(i);
a[i]=1;
for (int j=1;j<=25;j++){
if (a[j] && !a[g[i][j]]){
v.pb(g[i][j]);
a[g[i][j]]=1;
}
}
rec(i-1);
for (auto u:v) a[u]=0;
return;
}
int32_t main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
for (int i=1;i<=25;i++) for (int j=1;j<=25;j++) g[i][j]=__gcd(i,j);
rec(25);
sort(S.begin(),S.end(),cmp);
int t;cin>>t;
while (t--){
int k;cin>>k;
cout<<S[k].size()<<' ';
for (auto u:S[k]) cout<<u<<' ';cout<<endl;
}
return 0;
}
Compilation message (stderr)
# | 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... |