제출 #1070191

#제출 시각아이디문제언어결과실행 시간메모리
1070191YassirSalamaToys (CEOI18_toy)C++17
0 / 100
1 ms436 KiB
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define int long long
vector<int> factor(int n){
    set<int> d;
    for(int i=1;i<=n;i++){
        if(n%i==0){
            int a=i;
            int b=n/a;
            if(a==b){
                d.insert(a);
            }else{
                d.insert(a);
                d.insert(b);
            }
        }
    }
    vector<int> dd(d.begin(),d.end());
    return dd;
}
#define dbg(x) cout<<"( "<<#x<<" ) : ";for(auto y:x) cout<<y<<" ";cout<<endl;
set<int> s;
#define all(v) v.begin(),v.end()
void solve(int n,vector<int> v,int d=0){
    if(d==4){
        if(n>1){
            return;
        }
    }
    if(n<=1){
        s.insert(accumulate(all(v),0LL)-4+(4-v.size()));
        return;
    }
    for(int i=2;i<=n;i++){
        if(n%i==0){
            v.pb(i);
            solve(n/i,v,d+1);
            v.pop_back();
        }
    }
    return;
}
signed main(){
    int n;
    cin>>n;
    solve(n,{});
    cout<<s.size()<<endl;
    for(auto x:s){
        cout<<x<<" ";
    }
    cout<<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...