제출 #991719

#제출 시각아이디문제언어결과실행 시간메모리
991719De3b0oPresent (RMI21_present)C++17
0 / 100
2091 ms524288 KiB
#include<bits/stdc++.h> #define ll long long #define F first #define S second #define in insert #define pb push_back #define ppb pop_back() #define d3 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define cans cout << ans << "\n"; #define yes cout << "Yes" << "\n"; #define no cout << "No" << "\n"; #define pll pair<ll,ll> #define lin cout << "\n"; #define sqr 340 #define mod 1000000007 #define mid ((l+r)/2) #define lc (2*n) #define rc (2*n+1) using namespace std; int16_t gc[26][26]; vector<vector<int16_t>> ans; bool cnt[26]; void solve(int16_t idx) { if(idx==0) { vector<int16_t> v; for(int16_t i = 1 ; 25>=i ; i++) { if(cnt[i]==1) v.pb(i); } reverse(v.begin(),v.end()); ans.pb(v); return; } solve(idx-1); if(cnt[idx]) return; cnt[idx]=1; vector<int16_t> vis; vis.pb(idx); for(int16_t i = 1 ; idx>=i ; i++) { if(cnt[i]&&cnt[gc[i][idx]]==0) { vis.pb(gc[i][idx]); cnt[gc[i][idx]]=1; } } solve(idx-1); for(auto it : vis) cnt[it]=0; } int main() { for(int16_t i = 1 ; 25>=i ; i++) for(int16_t j = 1 ; 25>=j ; j++) gc[i][j]=__gcd(i,j); solve(25); sort(ans.begin(),ans.end()); int16_t t; cin >> t; while(t--) { int k; cin >> k; cout << ans[k].size() << " "; for(int i = ans[k].size()-1 ; i>=0 ; i--) cout << ans[k][i] << " "; lin } }
#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...