제출 #1138982

#제출 시각아이디문제언어결과실행 시간메모리
1138982mnbvcxz123Planinarenje (COCI18_planinarenje)C++20
0 / 160
88 ms840 KiB
#include<bits/stdc++.h>
using namespace std;
using ll=long long;

constexpr int MAXN=1e4+5;
constexpr int mod=1e9+7;

int n,m;
vector<int>g[MAXN];
bool used[MAXN];
int to[MAXN];
bool nact[MAXN];

bool dfs(int x){
    if(used[x])return 0;
    used[x]=1;
    for(const int&i:g[x]){
        if(nact[i])continue;
        if(to[i]==-1 or dfs(to[i])){
            to[i]=x;
            return 1;
        }
    }
    return 0;
}

bool aug(int x){
    for(int i=0;i<MAXN;++i)used[i]=0;
    return dfs(x);
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    cin>>n>>m;
    while(m--){
        int a,b;
        cin>>a>>b;
        b+=n;
        g[a].push_back(b);
        g[b].push_back(a);
    }
    memset(to,-1,sizeof to);
    for(int i=n+1;i<=2*n;++i)
        for(const int&j:g[i])
            if(to[j]==-1){
                to[j]=i;
                break;
            }
    for(int i=n+1;i<=2*n;++i)
        if(to[i]==-1)aug(i);
    for(int i=1;i<=n;++i){
        if(to[i]==-1){
            cout<<"Mirko\n";
            continue;
        }
        int temp=to[i];
        to[i]=-1;
        nact[i]=1;
        if(aug(temp)){
            nact[i]=0;
            cout<<"Mirko\n";
        }else{
            nact[i]=0;
            aug(temp);
            cout<<"Slavko\n";
        }
    }
}
#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...