Submission #1200649

#TimeUsernameProblemLanguageResultExecution timeMemory
1200649kimTwo Transportations (JOI19_transportations)C++20
Compilation error
0 ms0 KiB
#include "Baijan.h" #include<bits/stdc++.h> using namespace std; using ll=long long; using pii=pair<int,int>; #define f first #define s second #define eb emplace_back #define sz(x) (int)x.size() #define add(x,y) ((((x)+(y))%md+md)%md) #define Add(x,y) (x=add(x,y)) #define mul(x,y) ((((x)*(y))%md+md)%md) #define Mul(x,y) (x=mul(x,y)) template<class T> T chmn(T &x,T y){ return x=min(x,y); } template<class T> T chmx(T &x,T y){ return x=max(x,y); } const int inf=1e9; const ll linf=1e18; const ll md=1e9+7; // const ll md=119<<23|1; namespace { vector<pii> adj[2005]; priority_queue<pii,vector<pii>,greater<pii>> pq; int d[2005],d0[2005]; vector<pii> tmp; ll m,m0,cnt,n; void send(bool x){ return SendB(x); } void push(){ for(int i=0;i<n;++i) if(d[i]<d0[i]) tmp.eb(d0[i]=d[i], i); } void play(){ push(); int n=sz(tmp); for(int i=0;i<11;++i) send(n&1), n>>=1; for(auto &[w,v]:tmp){ int x=w*2000+v; for(int i=0;i<31;++i) send(x&1), x>>=1; } tmp.clear(); } void dijk(){ while(!pq.empty()){ auto [w,u] = pq.top(); pq.pop(); if(d[u]!=w) continue; for(auto &[v,vw]:adj[u]) if(d[v]>w+vw) pq.emplace(d[v]=w+vw,v); } } } // namespace void InitB(int N, int A, std::vector<int> U, std::vector<int> V, std::vector<int> C) { n=N; for(int i=0;i<A;++i) adj[U[i]].eb(V[i],C[i]), adj[V[i]].eb(U[i],C[i]); m=m0=cnt=0; fill(d+1,d+N,inf); fill(d0+1,d0+N,inf); pq.emplace(0,0); dijk(); } void ReceiveB(bool x) { if(!m){ m0 |= x<<cnt; if(++cnt==11){ m=m0, m0=cnt=0; if(m==0){ dijk(); bool ok=0; for(int i=0;!ok&&i<n;++i) if(d[i]<d0[i]) ok=1; if(!ok) return; play(); } } return; } m0 |= x<<cnt; if(++cnt==31){ int w=m0/2000, v=m0%2000; if(d[v]>w) pq.emplace(d[v]=d0[v]=w,v); m0=cnt=0; if(--m==0){ dijk(); play(); } } }
#include "Azer.h" #include<bits/stdc++.h> using namespace std; using ll=long long; using pii=pair<int,int>; #define f first #define s second #define eb emplace_back #define sz(x) (int)x.size() #define add(x,y) ((((x)+(y))%md+md)%md) #define Add(x,y) (x=add(x,y)) #define mul(x,y) ((((x)*(y))%md+md)%md) #define Mul(x,y) (x=mul(x,y)) namespace { template<class T> T chmn(T &x,T y){ return x=min(x,y); } template<class T> T chmx(T &x,T y){ return x=max(x,y); } const int inf=1e9; const ll linf=1e18; const ll md=1e9+7; // const ll md=119<<23|1; vector<pii> adj[2005]; priority_queue<pii,vector<pii>,greater<pii>> pq; int d[2005],d0[2005]; vector<pii> tmp; ll m,m0,cnt,n; void send(bool x){ return SendA(x); } void push(){ for(int i=0;i<n;++i) if(d[i]<d0[i]) tmp.eb(d0[i]=d[i], i); } void play(){ push(); int n=sz(tmp); for(int i=0;i<11;++i) send(n&1), n>>=1; for(auto &[w,v]:tmp){ int x=w*2000+v; for(int i=0;i<31;++i) send(x&1), x>>=1; } tmp.clear(); } void dijk(){ while(!pq.empty()){ auto [w,u] = pq.top(); pq.pop(); if(d[u]!=w) continue; for(auto &[v,vw]:adj[u]) if(d[v]>w+vw) pq.emplace(d[v]=w+vw,v); } } } // namespace void InitA(int N, int A, std::vector<int> U, std::vector<int> V, std::vector<int> C) { n=N; for(int i=0;i<A;++i) adj[U[i]].eb(V[i],C[i]), adj[V[i]].eb(U[i],C[i]); m=m0=cnt=0; fill(d+1,d+N,inf); fill(d0+1,d0+N,inf); pq.emplace(0,0); dijk(); play(); } void ReceiveA(bool x) { if(!m){ m0 |= x<<cnt; if(++cnt==11){ m=m0, m0=cnt=0; if(m==0){ dijk(); bool ok=0; for(int i=0;!ok&&i<n;++i) if(d[i]<d0[i]) ok=1; if(!ok) return; play(); } } return; } m0 |= x<<cnt; if(++cnt==31){ int w=m0/2000, v=m0%2000; if(d[v]>w) pq.emplace(d[v]=d0[v]=w,v); m0=cnt=0; if(--m==0){ dijk(); play(); } } } std::vector<int> Answer() { vector<int> ans(n); for(int i=0;i<n;++i) ans[i]=d[i]; return ans; }

Compilation message (stderr)

# 1번째 컴파일 단계

/usr/bin/ld: /tmp/ccOoUNbw.o: in function `main':
grader_azer.cpp:(.text.startup+0x172): undefined reference to `InitA(int, int, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)'
/usr/bin/ld: grader_azer.cpp:(.text.startup+0x1ea): undefined reference to `ReceiveA(bool)'
/usr/bin/ld: grader_azer.cpp:(.text.startup+0x287): undefined reference to `Answer()'
/usr/bin/ld: /tmp/ccrVMrqg.o: in function `(anonymous namespace)::play()':
Azer.cpp:(.text+0x200): undefined reference to `SendB(bool)'
/usr/bin/ld: Azer.cpp:(.text+0x240): undefined reference to `SendB(bool)'
collect2: error: ld returned 1 exit status