Submission #654352

# Submission time Handle Problem Language Result Execution time Memory
654352 2022-10-31T07:17:50 Z mousey Easter Eggs (info1cup17_eastereggs) C++17
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>
#define int long long
#define ll long long
#define vll vector<ll>
#define vllp vector<pair<ll, ll> >
#define vi vector <int>
#define vip vector <pair <int, int> >
#define db double
#define ld long double
#define pdb pair <double, double> 
#define YES cout<<"YES"
#define NO cout<<"NO"
#define nl cout<<"\n"
#define vv vector <vector <ll> >
#define pll pair <ll, ll> 
#define pi pair <int, int>
#define pb push_back
#define f first
#define s second
using namespace std;

const ll mod=1e9+7;
const ll modx=998244353;
const double eps=1e-9;
const ll INF=INT_MAX;
const ll INFINF=LLONG_MAX;
const int N=512;
vi vc[N+5], nodes;
int sz[N+5], pa[N+5];
bool bad[N+5];

void dfs(int u, int pa)
{
	sz[u]=1;
	for(auto i: vc[u])
	{
		if(i==pa) continue;
		if(bad[i]) continue;
		pa[i]=u;
		dfs(i, u);
		sz[u]+=sz[i];
	}
}

int centroid_decom(int u, int size)
{
	pi p={0, 0};
	for(auto i: vc[u])
	{
		if(i==pa[u]) continue;
		p=max(p, {sz[i], i});
	}
	if(p.f<=(size+1)/2) return p.s;
	else return centroid_decom(p.s, size);
}

void find(int u, int pa)
{
	nodes.pb(u);
	for(auto i: vc[u])
	{
		if(i==pa) continue;
		find(i, u);
	}
}

int findEgg(int N, vip bridges)
{
	for(auto i: bridges)
	{
		vc[i.f].pb(i.s);
		vc[i.s].pb(i.f);
	}
	int u=1;
	while(true)
	{
		dfs(u, 0);
		if(sz[u]==2)
		{
			nodes.pb(u);
			int report=query(nodes);
			if(report) return u;
			else
			{
				for(auto i: vc[u])
				{
					if(!bad[i]) return i;
				}
			}
		}
		int sum=0;
		vi node;
		nodes.pb(u);
		for(auto i: vc[u])
		{
			if(i==pa[u]) continue;
			bad[i]=true;
			sum+=sz[i];
			find(i, u);
			node.pb(i);
			if(sum>=size/2) break;
		}
		int report=query(nodes);
		if(report)
		{
			for(auto i: vc[u])
			{
				if(!bad[i]) bad[i]^=1;
			}
			for(auto i: node)
			{
				bad[i]^=1;
			}
		} 
		nodes.clear();
	}
}

Compilation message

eastereggs.cpp: In function 'void dfs(long long int, long long int)':
eastereggs.cpp:39:5: error: invalid types 'long long int[long long int]' for array subscript
   39 |   pa[i]=u;
      |     ^
eastereggs.cpp: In function 'long long int findEgg(long long int, std::vector<std::pair<long long int, long long int> >)':
eastereggs.cpp:81:15: error: 'query' was not declared in this scope
   81 |    int report=query(nodes);
      |               ^~~~~
eastereggs.cpp:101:16: error: invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator/'
  101 |    if(sum>=size/2) break;
      |            ~~~~^~
eastereggs.cpp:103:14: error: 'query' was not declared in this scope
  103 |   int report=query(nodes);
      |              ^~~~~