Submission #834766

#TimeUsernameProblemLanguageResultExecution timeMemory
834766IS_RushdiKeys (IOI21_keys)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;



vector<int> find_reachable(vector<int> r, vector<int> u, vector<int> v, vector<int> c) {
	vector<int> ans(r.size(), 1);
    int n = r.size();
    int m = u.size();
    vector<vector<vector<int>>>a(n,vector<vector<int>>(n,vector<int>()));
    for(int i = 0; i < m; i++){
        a[u[i]][c[i]].push_back(v[i]);
        a[v[i]][c[i]].push_back(u[i]);
    }
    vector<int>tmp(n);
    int mn = 1e9;
    for(int i = 0; i < n; i++){
        vector<bool>vis(n,0);
        vector<int>nodes;
        vector<bool>key(n,0);
        set<int>keys;
        queue<int>q;
        q.push(i);
        while(!q.empty()){
            int node = q.front();
            q.pop();
            if(vis[node]) continue;
            vis[node]=1;
            nodes.push_back(node);
            int k = r[node]; 
            if(!key[k]){
                for(int x : nodes){
                    for(int to : a[x][k]){
                        q.push(to);
                    }
                }
            }
            for(int k : keys){
                for(int to : a[node][k]){
                    q.push(to);
                }
            }
            keys.insert(k);
            key[k]=1;
        }
        tmp[i] = nodes.size();
        mn = min(mn,tmp[i]);
    }
    for(int i = 0; i < n; i++){
        if(tmp[i] == mn) ans[i] = 1;
        else ans[i] = 0;
    }
    return ans;
}
int main(){
    int n; cin >> n;
    vector<int>a(n);
    for(int i = 0; i < n; i++) cin >> a[i];
    int m; cin >> m;
    vector<int>b(m),c(m),d(m);
    for(int i = 0; i < m; i++) cin >> b[i];
    for(int i = 0; i < m; i++) cin >> c[i];
    for(int i = 0; i < m; i++) cin >> d[i];
    vector<int>ans =  find_reachable(a,b,c,d);
    for(int i = 0; i < n; i++) cout << ans[i] << ' ';
    
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccKA6r86.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccGssug9.o:keys.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status