제출 #169982

#제출 시각아이디문제언어결과실행 시간메모리
169982darklight256Planinarenje (COCI18_planinarenje)C++17
0 / 160
277 ms262148 KiB
//
//  pl.cpp
//  Code
//
//  Created by Mohammadreza Raddanipour on 12/23/19.
//  Copyright © 2019 Mohammadreza Raddanipour. All rights reserved.
//

#include <bits/stdc++.h>
using namespace std;

const int MXN = 5e3 + 20;

vector<int> adj[MXN];
int mch[MXN], n, m;
bool vs[MXN], mchd[MXN], wn[MXN];

void npt() {
    cin >> n >> m;
    for (int i = 0; i < m; i++) {
        int u, v;
        cin >> u >> v;
        adj[--u].push_back(--v);
    }
}

bool dfs(int v) {
    vs[v] = 1;
    for (auto u: adj[v])
        if (mch[u] == -1 || (!vs[u] && dfs(mch[u]))) {
            mch[u] = v;
            mchd[v] = 1;
            return 1;
        }
    return 0;
}

void mm() {
    for (int i = 0; i < n; i++) {
        memset(vs, 0, sizeof vs);
        dfs(i);
    }
}

void slv() {
    memset(vs, 0, sizeof vs);
    for (int i = 0; i < n;  i++)
        if (!mchd[i])
            dfs(i);
    for (int i = 0; i < n; i++)
        if (!vs[i])
            cout << "Slavko\n";
        else
            cout << "Mirko\n";
}

int main() {
    memset(mch, -1, sizeof mch);
    npt();
    mm();
    slv();
    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...