Submission #161397

# Submission time Handle Problem Language Result Execution time Memory
161397 2019-11-02T08:23:07 Z georgerapeanu Party (POI11_imp) C++11
0 / 100
1092 ms 42616 KB
#include <cstdio>
#include <vector>
#include <algorithm>
#include <ctime>
#include <cstdlib>

using namespace std;

const int NMAX = 3000;

int n,m;
vector<int> graph[NMAX + 5];
int gr[NMAX + 5];
bool del[NMAX + 5];

int main(){

    scanf("%d %d",&n,&m);

    for(int i = 1;i <= m;i++){
        int x,y;
        scanf("%d %d",&x,&y);
        gr[x]++;
        gr[y]++;
        graph[x].push_back(y);
        graph[y].push_back(x);
    }

    vector<int> elim;

    for(int i = 1;i <= n;i++){
        if(gr[i] < 2 * n / 3 - 1){
            elim.push_back(i);
            del[i] = true;
        }
    }

    for(int i = 0;i < (int)elim.size();i++){
        for(auto it:graph[elim[i]]){
            gr[it]--;
            if(del[it] == false && gr[it] < 2 * n / 3 - 1){
                del[it] = true;
                elim.push_back(it);
            }
        }
    }

    vector<pair<int,int> > nodes;

    for(int i = 1;i <= n;i++){
        if(del[i] == false){
            nodes.push_back({gr[i],i});
        }
    }
    srand(time(NULL));

    random_shuffle(nodes.begin(),nodes.end());

    elim.clear();

    for(int i = 0;i < n / 3;i++){
        elim.push_back(nodes[i].second);
        del[nodes[i].second] = true;
    }

    for(int i = 0;i < (int)elim.size();i++){
        for(auto it:graph[elim[i]]){
            gr[it]--;
            if(del[it] == false && gr[it] < n / 3 - 1){
                del[it] = true;
                elim.push_back(it);
            }
        }
    }

    vector<int> ans;

    for(int i = 1;i <= n;i++){
        if(del[i] == false){
            ans.push_back(i);
        }
    }

    random_shuffle(ans.begin(),ans.end());

    ans.resize(n / 3);

    for(auto it:ans){
        printf("%d ",it);
    }
    
    return 0;
}

Compilation message

imp.cpp: In function 'int main()':
imp.cpp:18:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d",&n,&m);
     ~~~~~^~~~~~~~~~~~~~~
imp.cpp:22:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d %d",&x,&y);
         ~~~~~^~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Incorrect 2 ms 376 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 632 KB Output is correct
2 Incorrect 24 ms 1656 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 15 ms 1312 KB Output is correct
2 Incorrect 98 ms 5308 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 32 ms 1656 KB Output is correct
2 Incorrect 242 ms 11996 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 74 ms 4276 KB Output is correct
2 Incorrect 365 ms 16672 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 225 ms 12232 KB Output is correct
2 Incorrect 447 ms 18524 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 413 ms 15836 KB Output is correct
2 Incorrect 614 ms 21496 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 571 ms 18168 KB Output is correct
2 Incorrect 734 ms 33868 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 732 ms 19960 KB Output is correct
2 Incorrect 1024 ms 37348 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 827 ms 36632 KB Output is correct
2 Incorrect 1024 ms 40652 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 989 ms 41688 KB Output is correct
2 Incorrect 1092 ms 42616 KB Nie wszystkie wypisane osoby siê znaja
3 Halted 0 ms 0 KB -