#include "Alicelib.h"
#include <bits/stdc++.h>
using namespace std;
void Alice( int n, int m, int A[], int B[] ){
vector<pair<int,int> > ed;
for(int i=0; i<m; i++){
ed.push_back({A[i],B[i]});
}
for(int i=0; i<n; i++){
for(int j=0; j<10; j++){
if(i&(1<<j)){
ed.push_back({i,n+j});
}
}
}
for(int i=n; i<n+9; i++) ed.push_back({i,i+1});
for(int i=0; i<n+10; i++) ed.push_back({i,n+10});
for(int i=n; i<n+10; i++) ed.push_back({i,n+11});
InitG(n+12,(int)ed.size());
for(int i=0; i<(int)ed.size(); i++){
//cout << ed[i].first << ' ' << ed[i].second << '\n';
MakeG(i,ed[i].first,ed[i].second);
}
}
#include "Boblib.h"
#include <bits/stdc++.h>
using namespace std;
void Bob( int v, int u, int C[], int D[] ){
int n=v-12;
if(n==1){
InitMap(1,0);
return;
}
int deg[v];
memset(deg,0,sizeof(deg));
vector<int> adj[v];
for(int i=0; i<u; i++){
deg[C[i]]++;
deg[D[i]]++;
adj[C[i]].push_back(D[i]);
adj[D[i]].push_back(C[i]);
}
pair<int,int> mx={-1,-1};
for(int i=0; i<v; i++){
mx=max(mx,{deg[i],i});
}
assert(mx.first==n+10);
int is[v];
memset(is,0,sizeof(is));
is[mx.second]=1;
int hm=mx.second;
for(int i:adj[mx.second]) is[i]=1;
int bn=-1;
for(int i=0; i<v; i++) if(!is[i]) bn=i;
assert(deg[bn]==10);
int isb[v];
memset(isb,0,sizeof(isb));
mx={1e9,-1};
for(int i:adj[bn]){
isb[i]=1;
mx=min(mx,{deg[i],i});
}
vector<int> bts;
int cur=mx.second;
for(int i=0; i<10; i++){
bts.push_back(cur);
isb[cur]=0;
for(int j:adj[cur]){
if(isb[j]){
cur=j;
break;
}
}
}
assert((int)bts.size()==10);
reverse(bts.begin(),bts.end());
for(int i=0; i<v; i++) isb[i]=-1;
int cnt=0;
for(int i:bts){
is[i]=0,isb[i]=cnt;
cnt++;
}
is[hm]=0;
int ind[v];
memset(ind,-1,sizeof(ind));
cnt=0;
for(int i=0; i<v; i++){
if(!is[i]) continue;
cnt++;
ind[i]=0;
for(int j:adj[i]){
if(isb[j]==-1) continue;
ind[i]^=(1<<isb[j]);
}
}
assert(cnt==n);
vector<pair<int,int> > ed;
for(int i=0; i<u; i++){
if(is[C[i]]&&is[D[i]]){
ed.push_back({ind[C[i]],ind[D[i]]});
}
}
InitMap(n,(int)ed.size());
for(auto i:ed) MakeMap(i.first,i.second);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |