Submission #841838

#TimeUsernameProblemLanguageResultExecution timeMemory
841838manizareCop and Robber (BOI14_coprobber)C++14
16 / 100
29 ms1836 KiB
#include<bits/stdc++.h>
#include "coprobber.h"
 
using namespace std;
 
#define pb push_back
#define ll long long
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
 
vector<int>adj[500];
vector<int>used(500),p(500);
int cur=0,f=0;
void dfs(int u){
    used[u]=1;
    for(auto v:adj[u]){
        if(used[v]==0){
            p[v]=u;
            dfs(v);
        }
    }
}

int start(int N,bool a[500][500]){
    int cnt=0;
    for(int i=0;i<N;i++){
        for(int j=0;j<N;j++){
            if(i==j) continue;
            if(a[i][j]==true){
                adj[i].pb(j);
                cnt++;
            }
        }
    }
    dfs(0) ;
    if(cnt!=2*(N-1)){
        return -1;
    }
    return 0;
}

int nextMove(int r){
    if(p[r]==cur){
        return cur;
    }
    while(p[r]!=cur){
        r=p[r];
    }
    return cur=r;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...