Submission #912121

#TimeUsernameProblemLanguageResultExecution timeMemory
912121teo_thrashPlaninarenje (COCI18_planinarenje)C++14
160 / 160
29 ms1084 KiB
// it is your desire to work hard

#include<bits/stdc++.h>
#define pb push_back

using namespace std;

typedef long long ll;
typedef pair<int, int> pii;

const int maxn=1e4+3;
const int mod=1e9+7;

int n, m;
vector<int> nbrs[maxn];
bool used[maxn];
int to[maxn];
bool non_active[maxn];

bool dfs(int x){
    if(used[x]) return false;

    used[x]=true;

    for(auto v: nbrs[x]){
        if(non_active[v]) continue;

        if(to[v]==-1 or dfs(to[v])){
            to[v]=x;
            return true;
        }
    }

    return false;
}

bool augment(int x){
    for(int i=0; i<maxn; i++){
        used[i]=false;
    }
    return dfs(x);
}

int main(){

ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);

cin>>n>>m;

for(int i=0; i<m; i++){
    int a, b;
    cin>>a>>b;
    b+=n;

    nbrs[a].pb(b);
    nbrs[b].pb(a);
}

for(int i=0; i<maxn; i++){
    to[i]=-1;
    used[i]=false;
}

for(int i=n+1; i<=2*n; i++){
    if(to[i]==-1){
        augment(i);
    }
}

for(int i=1; i<=n; i++){
    if(to[i]==-1){
        cout<<"Mirko"<<endl;
        continue;
    }

    int temp=to[i];
    to[i]=-1;
    non_active[i]=true;

    if(augment(temp)){
        non_active[i]=false;
        cout<<"Mirko"<<endl;
    }else{
        non_active[i]=false;
        augment(temp);
        cout<<"Slavko"<<endl;
    }
}



return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...