Submission #1221394

#TimeUsernameProblemLanguageResultExecution timeMemory
1221394PenguinsAreCuteTwo Transportations (JOI19_transportations)C++17
8 / 100
115 ms6348 KiB
#include "Azer.h" #include <bits/stdc++.h> using namespace std; using ii = pair<int,int>; namespace { int N; vector<bool> res; vector<int> x, d, dist; } void InitA(int N, int A, std::vector<int> U, std::vector<int> V, std::vector<int> C) { ::N = N; x.resize(N,0); d.resize(N,0); dist.resize(N,0); for(int i=0;i<A;i++) { x[U[i]] ^= V[i]; x[V[i]] ^= U[i]; d[U[i]]++; d[V[i]]++; dist[U[i]] ^= C[i]; dist[V[i]] ^= C[i]; } } void ReceiveA(bool x) { res.push_back(x); } std::vector<int> Answer() { for(int i=0;i<N;i++) { for(int j=0;j<11;j++) x[i] ^= (res[20*i+j]<<j); for(int j=0;j<9;j++) dist[i] ^= (res[20*i+j+11]<<j); } int cnt = 0; for(int i=20*N;i<int(res.size());i++) { if(res[i]) cnt++; else d[cnt]++; } d[0] = -1; int ord[N]; cnt = 0; for(int i=0;i<N;i++) for(int j=i;d[j]==1;j=x[j]) { ord[cnt++] = j; d[j]--; d[x[j]]--; x[x[j]] ^= j; dist[x[j]] ^= dist[j]; } dist[0] = 0; while(cnt--) dist[ord[cnt]] += dist[x[ord[cnt]]]; return dist; }
#include "Baijan.h" #include <bits/stdc++.h> using namespace std; using ii = pair<int,int>; void InitB(int N, int B, std::vector<int> S, std::vector<int> T, std::vector<int> D) { vector<int> x(N,0), d(N,0), dist(N,0); for(int i=0;i<B;i++) { x[S[i]] ^= T[i]; x[T[i]] ^= S[i]; dist[S[i]] ^= D[i]; dist[T[i]] ^= D[i]; d[S[i]]++; d[T[i]]++; } for(int i=0;i<N;i++) { for(int j=0;j<11;j++) SendB(x[i]&(1<<j)); for(int j=0;j<9;j++) SendB(dist[i]&(1<<j)); } for(int i=0;i<N;i++) { for(int j=0;j<d[i];j++) SendB(0); SendB(1); } } void ReceiveB(bool y) {}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...