Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <algorithm>
- #include <iostream>
- #include <vector>
- #include <map>
- #include <set>
- #include <stdlib.h>
- #include <math.h>
- #include <time.h>
- #include <string.h>
- #include <string>
- #include <queue>
- #include <stack>
- using namespace std;
- typedef long long int ll;
- vector<int> par[14];
- int loc[27100];
- ll powt[20];
- int n;
- int main(void)
- {
- int i, j, k;
- cin>>n;
- par[1].push_back(1);
- powt[0]=1;
- for(i=1 ; i<=19 ; i++)
- {
- powt[i]=3*powt[i-1];
- }
- for(i=1 ; i<=9 ; i++)
- {
- for(j=1 ; j<=i ; j++)
- {
- int temp=par[j].size();
- for(k=0 ; k<temp ; k++)
- {
- par[j].push_back(par[j][k]+powt[i]);
- }
- }
- for(j=(powt[i]+1)/2 ; j<=powt[i] ; j++)
- {
- par[i+1].push_back(j);
- }
- }
- for(i=1 ; i<=10 ; i++)
- {
- for(j=0 ; j<par[i].size() ; j++)
- {
- if(par[i][j]<=26000)
- {
- loc[par[i][j]]=i-1;
- }
- }
- }
- for(i=1 ; i<=n ; i++)
- {
- printf("%d",loc[i]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement