Submission #700153

# Submission time Handle Problem Language Result Execution time Memory
700153 2023-02-18T18:02:54 Z urosk Airline Route Map (JOI18_airline) C++14
0 / 100
716 ms 58332 KB
#include "Alicelib.h"
#define here cerr<<"===========================================\n"
#define dbg(x) cerr<<#x<<": "<<x<<endl;
#include "bits/stdc++.h"
//#include <ext/pb_ds/tree_policy.hpp>
//#include <ext/pb_ds/assoc_container.hpp>
#define ld double
#define ll int
#define llinf 100000000000000000LL // 10^17
#define pb push_back
#define popb pop_back
#define fi first
#define sc second
#define endl '\n'
#define pll pair<ll,ll>
#define pld pair<ld,ld>
#define sz(a) (ll)(a.size())
#define all(a) a.begin(),a.end()
#define ceri(a,l,r) {cerr<<#a<<": ";for(ll i_ = l;i_<=r;i_++) cerr<<a[i_]<< " ";cerr<<endl;}
#define cer(a) {cerr<<#a<<": ";for(ll x_ : a) cerr<<x_<< " ";cerr<<endl;}

#define daj_mi_malo_vremena ios_base::sync_with_stdio(false);cerr.tie(0);cout.tie(0);cin.tie(0);

using namespace std;
#define maxn 2020
void Alice(ll N,ll M,ll A[],ll B[] ){
    ll n = N,m = M;
    ll d = 12;
    ll v = n+d,u = m;
    vector<pll> a;
    vector<ll> want(maxn,0);
    vector<ll> deg(maxn,0);
    vector<vector<bool> > ima(maxn,vector<bool>(maxn,0));
    for(ll i = 0;i<m;i++) a.pb({A[i],B[i]});
    for(ll i = 0;i<n;i++) a.pb({i,v-1});
    for(ll i = 0;i<n;i++) a.pb({i,v-2});
    for(ll i = n;i<=n+4;i++) a.pb({i,v-2});
    for(ll i = n+5;i<=n+9;i++) a.pb({i,v-1});
    a.pb({v-1,v-2});
    set<pll> s;
    for(ll i = n;i<v-2;i++) want[i] = i-n;
    for(ll i = 0;i<v;i++) ima[i][i] = 1;
    for(ll i = v-3;i>n;i--){
        if(want[i]){
            a.pb({i,n});
            deg[i]++;
            deg[n]++;
            want[i]--;
        }
        ll j = i-1;
        while(want[i]&&j>=n){
            if(want[j]&&!ima[i][j]){
                ima[i][j] = ima[j][i] = 1;
                a.pb({i,j});
                want[j]--;
                want[i]--;
                deg[i]++;
                deg[j]++;
            }
            j--;
        }
    }
    //ceri(deg,n,v-3);
    for(ll i = 0;i<n;i++){
        for(ll j = 0;j<d-2;j++){
            if((1<<j)&i) a.pb({i,n+j});
        }
    }
    u = sz(a);
    InitG(v,u);
    for(ll i = 0;i<v;i++) deg[i] = 0;
    for(ll i = 0;i<u;i++) deg[a[i].fi]++,deg[a[i].sc]++;
    ceri(deg,0,v-1);
    //dbg(sz(a));
    //for(pll p : a) cerr<<p.fi<< " "<<p.sc<<endl;
    for(ll i = 0;i<u;i++) MakeG(i,a[i].fi,a[i].sc);
}
/**
4 3
0 1
0 2
0 3

5 7
0 1
0 2
1 3
1 4
3 4
2 3
2 4

**/
#include "Boblib.h"
#define here cerr<<"===========================================\n"
#define dbg(x) cerr<<#x<<": "<<x<<endl;
#include "bits/stdc++.h"
//#include <ext/pb_ds/tree_policy.hpp>
//#include <ext/pb_ds/assoc_container.hpp>
#define ld double
#define ll int
#define llinf 100000000000000000LL // 10^17
#define pb push_back
#define popb pop_back
#define fi first
#define sc second
#define endl '\n'
#define pll pair<ll,ll>
#define pld pair<ld,ld>
#define sz(a) (ll)(a.size())
#define all(a) a.begin(),a.end()
#define ceri(a,l,r) {cerr<<#a<<": ";for(ll i_ = l;i_<=r;i_++) cerr<<a[i_]<< " ";cerr<<endl;}
#define cer(a) {cerr<<#a<<": ";for(ll x_ : a) cerr<<x_<< " ";cerr<<endl;}

#define daj_mi_malo_vremena ios_base::sync_with_stdio(false);cerr.tie(0);cout.tie(0);cin.tie(0);

using namespace std;
#define maxn 2020
void Bob(ll V,ll U,ll C[],ll D[]){
    ll n = V,m = U;
    vector<ll> ans(maxn,0);
    vector<ll> deg(maxn,0);
    vector<pll> e(maxn*maxn);
    vector<bool> spec(maxn,0);
    vector<vector<ll> > g(maxn);
    vector<bool> ok2(maxn,0);
    vector<vector<bool> > ok(maxn,vector<bool>(maxn,0));
    for(ll i = 0;i<m;i++) e[i] = {C[i],D[i]};
    for(ll i = 0;i<m;i++){
        ll x = e[i].fi,y = e[i].sc;
        deg[x]++;
        deg[y]++;
        ok[x][y] = ok[y][x] = 1;
        g[x].pb(y);
        g[y].pb(x);
    }
    ll N = n-12;
    for(ll i = 0;i<n;i++){
        for(ll x : g[i]){
            if(deg[x]==(N+1)/2+7) ok2[i] = 1;
        }
    }
    for(ll i = 0;i<n;i++) ok[i][i] = 1;
    ll u = 0,v = 0;
    for(ll i = 0;i<n;i++){
        if(deg[i]!=N+6||!ok2[i]) continue;
        for(ll j = 0;j<n;j++){
            if(i==j) continue;
            if(deg[j]!=N+6) continue;
            if(ok[i][j]){
                u = j;
                v = i;
            }
        }
    }
    lol:;
    dbg(u);
    dbg(deg[u]);
    dbg(v);
    dbg(deg[v]);
    vector<ll> w;
    for(ll i = 0;i<n;i++){
        if(!ok[v][i]||!ok[u][i]) continue;
        if(i==u||i==v) continue;
        w.pb(i);
        spec[i] = 1;
    }
    dbg(sz(w));
    spec[u] = spec[v] = 1;
    for(ll x : w){
        ll cnt = -1;
        for(ll y : w){
            if(ok[x][y]){
                cnt++;
            }
        }
        if(cnt==5){
            if(ok[x][u]) cnt = 0;
        }
        for(ll y : g[x]){
            if(!spec[y]){
                ans[y]+=(1<<cnt);
            }
        }
    }
    ceri(spec,0,n-1);
    ll gr = 0;
    for(ll i = 0;i<m;i++){
        ll x = e[i].fi,y = e[i].sc;
        if(spec[x]||spec[y]) continue;
        gr++;
    }
    dbg(gr);
    InitMap(n-12,gr);
    for(ll i = 0;i<m;i++){
        ll x = e[i].fi,y = e[i].sc;
        if(spec[x]||spec[y]) continue;
        x = ans[x],y = ans[y];
        MakeMap(x,y);
    }
}
/**
4 3
0 1
0 2
0 3

5 7
0 1
0 2
1 3
1 4
3 4
2 3
2 4

**/

Compilation message

Bob.cpp: In function 'void Bob(int, int, int*, int*)':
Bob.cpp:63:5: warning: label 'lol' defined but not used [-Wunused-label]
   63 |     lol:;
      |     ^~~
# Verdict Execution time Memory Grader output
1 Incorrect 17 ms 37856 KB Wrong Answer [11]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 17 ms 37856 KB Wrong Answer [11]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 716 ms 58332 KB Wrong Answer [11]
2 Halted 0 ms 0 KB -