Submission #1193468

#TimeUsernameProblemLanguageResultExecution timeMemory
1193468simona1230Comparing Plants (IOI20_plants)C++20
0 / 100
4 ms4936 KiB
#include "plants.h"

#include <bits/stdc++.h>
#define pb push_back
using namespace std;


int nn,p,a[200001];
int h[200001];
vector<int> v[200001];
stack<int> s;
int used[200001];
void dfs(int i)
{
    used[i]=1;
    for(int j=0;j<v[i].size();j++)
    {
        int nb=v[i][j];
        if(!used[nb])dfs(nb);
    }
    s.push(i);
}
int g[200001];

void init(int k, std::vector<int> r)
{
    p=k;
    nn=r.size();
    int id=0;
    for(int i=0;i<r.size();i++)
    {
        a[i]=r[i];
        if(a[i]!=1)id=i;
    }

    for(int i=0;i<nn;i++)
    {
        int x=id;
        id--;

        if(id==-1)id=nn-1;
        cout<<id<<" "<<x<<endl;
        if(r[id]==0)
            v[id].pb(x);
        else if(r[id]==2)
            v[x].pb(id);
        else
        {
            if(r[x]==0)
            {
                v[x].pb(id);
                h[id]=1;
            }
            else if(r[x]==2)
            {
                v[id].pb(x);
                h[id]=0;
            }
            else if(h[x])
            {
                v[id].pb(x);
                h[id]=0;
            }
            else
            {
                v[x].pb(id);
                h[id]=1;
            }
        }
    }
    
    for(int i=0;i<nn;i++)
        if(!used[i])dfs(i);

    for(int i=0;i<nn;i++)
    {
        g[s.top()]=nn-i-1;
        s.pop();
    }
    
	return;
}

int compare_plants(int x, int y)
{
    if(g[x]<g[y])return -1;
    if(g[x]>g[y])return 1;
	return 0;
}
#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...