Submission #1075064

#TimeUsernameProblemLanguageResultExecution timeMemory
1075064TB_Mechanical Doll (IOI18_doll)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define fo(i, n) for(ll i = 0; i<(n); i++) #define pb push_back #define F first #define S second #define deb(x) cout << #x << " = " << (x) << endl #define deb2(x, y) cout << #x << " = " << (x) << ", " << #y << " = " << (y) << endl typedef vector<ll> vl; typedef vector<vl> vvl; // void answer(std::vector<int> C, std::vector<int> X, std::vector<int> Y){ // } void answer(std::vector<int> C, std::vector<int> X, std::vector<int> Y); void create_circuit(int M, std::vector<int> A){ vvl adj(M+1); ll n = A.size(); adj[0].pb(A[0]); fo(i, n){ if(i<n-1) adj[A[i]].pb(A[i+1]); else adj[A[i]].pb(0); } ll cou = 0; vector<int> c, x, y; fo(i, M+1){ cou = x.size(); ll co = 0; if(adj[i].size() == 0){ c.pb(i); continue; } else if(adj[i].size() == 1){ c.pb(adj[i][0]); continue; } c.pb(-cou-1); ll am = adj[i].size(); ll ext = 1; while(ext<am) ext*=2ll; ll am2 = ext-am; vl order(ext*2); vl state(ext, 0); fo(j, ext){ ll current = 1; while(current<ext){ ll sta = state[current]; state[current] = !state[current]; current*=2; if(sta)current++; } if(ext-current-1<am2) order[current] = (-cou-1); else order[current] = (adj[i][co++]); // deb2(current, order[current]); } co= 0; fo(i, ext){ if(!i) continue; if(i*2<ext){ if(order[(-cou-i*2)*2] == order[(-cou-i*2)*2+1] && 0) x.pb(order[(-cou-i*2)*2]); else x.pb(-cou-i*2); if(order[(-cou-i*2-1)*2] == order[(-cou-i*2-1)*2+1] && 0) y.pb(order[(-cou-i*2-1)*2]); else y.pb(-cou-i*2-1); }else{ x.pb(order[i*2]); y.pb(order[i*2+1]); } } } // fo(i, c.size()){ // deb(c[i]); // } // fo(i, x.size()){ // deb2(x[i], y[i]); // } answer(c, x, y); } int main(){ vector<int> st = {1, 2, 1, 2, 1, 2}; create_circuit(2, st); return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccMaRCPD.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccD1ZcPC.o:doll.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status