Submission #730736

#TimeUsernameProblemLanguageResultExecution timeMemory
730736danikoynovSplit the Attractions (IOI19_split)C++14
7 / 100
80 ms14452 KiB
#include "split.h"
#include <bits/stdc++.h>

using namespace std;

const int maxn = 1e5 + 10;

int deg[maxn], m, n;
vector < int > graph[maxn];

int used[maxn];
vector < int > order;
void stick(int v)
{
    used[v] = 1;
    order.push_back(v);
    for (int u : graph[v])
    {
        if (!used[u])
            stick(u);
    }
}
vector<int> find_split(int N, int a, int b, int c, vector<int> p, vector<int> q)
{
    n = N;
    m = p.size();
    for (int i = 0; i < p.size(); i ++)
    {
        graph[p[i]].push_back(q[i]);
        graph[q[i]].push_back(p[i]);
    }

    bool deg2 = true;
    for (int i = 0; i < m; i ++)
    {
        if (graph[i].size() > 2)
        {
            deg2 = false;
            break;
        }
    }

    int leaf = 0;
    while(leaf < n && graph[leaf].size() != 1)
        leaf ++;
    if (leaf == n)
        leaf = 0;
    stick(leaf);

    if (deg2)
    {
        vector < int > res(n);
        for (int i = 0; i < n; i ++)
        {
            int v = order[i];
            if (i < a)
                res[v] = 1;
            else
            if (i < a + b)
            res[v] = 2;
            else
                res[v] = 3;
        }
        return res;
    }
    else
    {
        vector < int > tmp;
        return tmp;
    }

}

Compilation message (stderr)

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:27:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |     for (int i = 0; i < p.size(); i ++)
      |                     ~~^~~~~~~~~~
#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...