Submission #574524

#TimeUsernameProblemLanguageResultExecution timeMemory
574524SlavicGParrots (IOI11_parrots)C++17
Compilation error
0 ms0 KiB
#include "encoder.h"
#include "encoderlib.h"
#include "bits/stdc++.h"
using namespace std;
 
#define ll long long
 
#define       forn(i,n)              for(int i=0;i<n;i++)
#define          all(v)              v.begin(), v.end()
#define         rall(v)              v.rbegin(),v.rend()
 
#define            pb                push_back
#define          sz(a)               (int)a.size()

map<int, vector<int>> mp;
set<vector<int>> st;
int idx = 0;
void generate(vector<int> v) {
    if(st.count(v)) return;
    if(sz(v)) {
        st.insert(v);
        mp[idx] = v;
        ++idx;
    }

    if(sz(v) <= 6) {
        if(!sz(v)) {
            for(int i = 0; i < 4; ++i) {
                v.pb(i);
                generate(v);
                v.pop_back();
            }
        } else {
            for(int i = v.back(); i < 4; ++i) {
                v.pb(i);
                generate(v);
                v.pop_back();
            }
        }
    }
}
void encode(int n, vector<int> a) {
    generate({});
    vector<int> v;
    for(int i = 0; i < n; ++i) {
        int number = i * 4;
        for(auto x: mp[a[i]]) {
            for(int j = 0; j < 2; ++j) {
                if(x & (1 << j)) number += (1 << j);
            }
            v.pb(number);
        }
    }
}

/*
void solve() {  

}   
     
int32_t main() {
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t = 1;
    //cin >> t;
    while(t--) {
        solve();
    }
}
*/
#include "decoder.h"
#include "decoderlib.h"
#include "bits/stdc++.h"
using namespace std;
 
#define ll long long
 
#define       forn(i,n)              for(int i=0;i<n;i++)
#define          all(v)              v.begin(), v.end()
#define         rall(v)              v.rbegin(),v.rend()
 
#define            pb                push_back
#define          sz(a)               (int)a.size()

map<int, vector<int>> mp;
map<vector<int>, int> Paiu;
set<vector<int>> st;
int idx = 0;
void generate(vector<int> v) {
    if(st.count(v)) return;
    if(sz(v)) {
        st.insert(v);
        mp[idx] = v;
        Paiu[v] = idx;
        ++idx;
    }

    if(sz(v) <= 6) {
        if(!sz(v)) {
            for(int i = 0; i < 4; ++i) {
                v.pb(i);
                generate(v);
                v.pop_back();
            }
        } else {
            for(int i = v.back(); i < 4; ++i) {
                v.pb(i);
                generate(v);
                v.pop_back();
            }
        }
    }
}

void decode(int n, int m, vector<int> b) {
    generate({});
    vector<int> a(n, 0);
    vector<int> v[n];
    
    for(auto x: b) {
        int i = x;
        int number = 0;
        if(i & 1) ++number;
        i /= 2;
        if(i & 1) number += 2;
        i /= 2;
        v[i].pb(number);
    }
    for(int i = 0; i < n; ++i) sort(all(v[i]));
    forn(i, n) {
        a[i] = Paiu[v[i]];
        output(a[i]);
    }
}

/*
void solve() {  
        
}   
     
int32_t main() {
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t = 1;
    //cin >> t;
    while(t--) {
        solve();
    }
}
*/

Compilation message (stderr)

/usr/bin/ld: /tmp/ccepkJcz.o: in function `main':
grader_encoder.cpp:(.text.startup+0x162): undefined reference to `encode(int, int*)'
collect2: error: ld returned 1 exit status

/usr/bin/ld: /tmp/ccMof6Fj.o: in function `main':
grader_decoder.cpp:(.text.startup+0x1ef): undefined reference to `decode(int, int, int*)'
collect2: error: ld returned 1 exit status