Submission #158933

# Submission time Handle Problem Language Result Execution time Memory
158933 2019-10-19T15:30:28 Z georgerapeanu Meetings (JOI19_meetings) C++14
0 / 100
74 ms 504 KB
#include "meetings.h"
#pragma once
#include <vector>
#include <algorithm>

using namespace std;

int my_query(int u,int v,int w){
    u--;
    v--;
    w--;
    return Query(u,v,w) + 1;
}

void my_bridge(int u,int v){
    u--;
    v--;
    Bridge(u,v);
}

void solve(int root,vector<int> &nodes){
    for(int i = 0;i < (int)nodes.size();i++){
        if(nodes[i] == root){
            swap(nodes[i],nodes.back());
            nodes.pop_back();
            break;
        }
    }
    
    if(nodes.size() == 0){
        return;
    }
    if(nodes.size() == 1){
        my_bridge(root,nodes[0]);
        return ;
    }
    
    vector<pair<int,int> > sons;
    vector<vector<int> > son_nodes;

    for(auto it:nodes){
        sort(sons.begin(),sons.end(),[&](const pair<int,int> &a,const pair<int,int> &b){return (a.first == b.first ? a.first > b.first : a.second < b.second);});
        bool ins = false;
        for(int i = 0;i < (int)sons.size();i++){
            int tmp = my_query(root,sons[i].second,it);
            if(tmp != root){
                sons[i].second = tmp;
                sons[i].first++;
                son_nodes[i].push_back(it);
                ins = true;
                break;
            }
        }
        if(ins == false){
            sons.push_back({1,it});
            son_nodes.push_back(vector<int>(1,it));
        }
    }

    for(int i = 0;i < (int)sons.size();i++){
        my_bridge(root,sons[i].second);
    }

    for(int i = 0;i < (int)sons.size();i++){
        solve(sons[i].second,son_nodes[i]);
    }
}

void Solve(int N) {
    vector<int> nodes;
    for(int i = 1;i <= N;i++){
        nodes.push_back(i);
    }
    solve(1,nodes);
}

Compilation message

meetings.cpp:2:9: warning: #pragma once in main file
 #pragma once
         ^~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Incorrect 2 ms 380 KB Wrong Answer [3]
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Incorrect 2 ms 380 KB Wrong Answer [3]
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Incorrect 2 ms 380 KB Wrong Answer [3]
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 74 ms 504 KB Wrong Answer [1]
2 Halted 0 ms 0 KB -