Submission #1322281

#TimeUsernameProblemLanguageResultExecution timeMemory
1322281opeleklanosConnecting Supertrees (IOI20_supertrees)C++20
Compilation error
0 ms0 KiB
#include <iostream>
#include <algorithm>
#include <vector>
#include "supertrees.h"
using namespace std;


vector<vector<int>> c;
vector<vector<int>> adj;
int n;

int construct(vector<vector<int>> c1){
    c = c1;
    n = c[0].size();
    adj.assign(n, vector<int>(n, 0));
    for(int i = 0; i<n; i++) c[i].push_back(i);
    sort(c.begin(), c.end());
    int prev = 0;
    int same = 0;
    // vector<int> s;
    vector<int> cycleNodes;
    cycleNodes.push_back(0);
    for(int i = 1; i<n; i++){
        if(!c[i][0] != !c[prev][0]){
            if(cycleNodes.size() > 1)
            adj[c[cycleNodes[0]][n]][c[cycleNodes[cycleNodes.size()-1]][n]] = 
            adj[c[cycleNodes[cycleNodes.size()-1]][n]][c[cycleNodes[0]][n]] = 1;
            cycleNodes.clear();
            prev = same = i;
            cycleNodes.push_back(i);
            continue;
        }
        adj[c[same][n]][c[i][n]] = adj[c[i][n]][c[same][n]] = 1;

        int s = 1;
        for(int j = 0; j<n; j++) if(c[i][j] != c[same][j]) s = 0;
        if(!s){
            cycleNodes.push_back(i);
            same = i;
        }

    }

    if(cycleNodes.size() > 1)
    adj[c[cycleNodes[0]][n]][c[cycleNodes[cycleNodes.size()-1]][n]] = 
    adj[c[cycleNodes[cycleNodes.size()-1]][n]][c[cycleNodes[0]][n]] = 1;




    build(adj);

    return 1;
}

int main(void){
    freopen("input.txt", "r", stdin);
    int n; cin>>n;
    vector<vector<int>> c1;
    c1.assign(n, vector<int>(n, 0));
    for(int i = 0; i<n; i++){
        for(int j = 0; j<n; j++) cin>>c1[i][j];
    }
    construct(c1);
}

Compilation message (stderr)

supertrees.cpp: In function 'int main()':
supertrees.cpp:57:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   57 |     freopen("input.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccdGlhmY.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc5TjkCO.o:supertrees.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status