Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- #define all(a) (a).begin(), (a).end()
- #pragma GCC optimize("O3")
- #pragma GCC optimize("Ofast")
- #pragma optimization_level 3
- #pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3")
- #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
- #define forn(i,a,b) for (int i = a; i <= b; i++)
- #define ff first
- #define ss second
- #define pb push_back
- #define mp make_pair
- #define rc(s) return cout<<s,0
- #define rcc(s) cout<<s,exit(0)
- #define er erase
- #define in insert
- #define pi pair <int, int>
- #define pii pair <pi, pi>
- # define sz(x) (int)((x).size())
- #define inf 1000000000
- #define cin in
- #define cout out
- const ll mod = 1000000007;
- string a[30];
- int n;
- set<int>st;
- multiset<int>mlt;
- ifstream in("agent.in");
- ofstream out("agent.out");
- string trans(string s){
- string ans="";
- forn(i,0,sz(s)-1){
- st.in((s[i]-'0'));
- mlt.in((s[i]-'0'));
- if(sz(st)==2){
- ans+=to_string(sz(mlt)-1);
- ans+=s[i-1];
- st.clear(); mlt.clear();
- st.in(s[i]-'0'); mlt.in(s[i]-'0');
- }
- if(i==(sz(s)-1)){
- ans+=to_string(sz(mlt));
- ans+=s[i];
- }
- }
- st.clear(); mlt.clear();
- //cout<<ans;
- return ans;
- }
- int32_t main(){
- ios_base::sync_with_stdio(0); cin.tie(); cerr.tie(); cout.tie();
- cin>>n;
- a[1]="1";
- forn(i,2,n+1){
- a[i]=trans(a[i-1]);
- }
- cout<<a[n];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement