3292 2023. 02. 24 11:32:24 sztomi Egyirányú egyensúly cpp11 Hibás válasz 10/50 16ms 5084 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

int n, m;
vector<int> kifok;
vector<int> befok;
vector<pii> elek;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    cin >> n >> m;
    int a, b;
    kifok.assign(n+1, 0);
    befok.assign(n+1, 0);
    elek.resize(m);
    for(int i = 0; i < m; i++){
        cin >> a >> b;
        kifok[a]++;
        befok[b]++;
        elek[i] = {a, b};
    }

    // nem nezegettem sokaig, hogy jo-e ez a megoldas szval ez csak proba
    // segit-e ha megforditunk egy elet
    vector<bool> fordult(m, false);
    int elozo, most;
    for(int i = 0; i < m; i++){
        a = elek[i].first;
        b = elek[i].second;
        elozo = abs(kifok[a] - befok[a]) + abs(kifok[b] - befok[b]);
        most = abs((kifok[a]-1) - (befok[a]+1)) + abs((kifok[b]+1) - (befok[b]-1));
        if(elozo > most){
            elek[i].first = b;
            elek[i].second = a;
            fordult[i] = true;
            kifok[a]--;
            befok[a]++;
            kifok[b]++;
            befok[b]--;
        }
    }

    int ossz = 0;
    for(int i = 1; i <= n; i++){
        ossz += abs(kifok[i] - befok[i]);
    }
    cout << ossz << "\n";
    for(int i = 0; i < m; i++){
        cout << (fordult[i] ? "<-" : "->") << " ";
    }
    cout << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 10/50
1 Elfogadva 0/0 3ms 1700 KiB
2 Hibás válasz 0/0 13ms 2680 KiB
3 Elfogadva 2/2 3ms 2084 KiB
4 Elfogadva 2/2 3ms 2300 KiB
5 Elfogadva 2/2 3ms 2500 KiB
6 Elfogadva 2/2 3ms 2844 KiB
7 Hibás válasz 0/2 3ms 2940 KiB
8 Hibás válasz 0/2 3ms 2896 KiB
9 Elfogadva 2/2 3ms 2976 KiB
10 Hibás válasz 0/2 3ms 3172 KiB
11 Hibás válasz 0/2 3ms 3412 KiB
12 Hibás válasz 0/2 3ms 3624 KiB
13 Hibás válasz 0/3 4ms 3952 KiB
14 Hibás válasz 0/3 7ms 4200 KiB
15 Hibás válasz 0/3 8ms 4108 KiB
16 Hibás válasz 0/3 9ms 3880 KiB
17 Hibás válasz 0/3 6ms 4152 KiB
18 Hibás válasz 0/3 9ms 4292 KiB
19 Hibás válasz 0/3 9ms 4344 KiB
20 Hibás válasz 0/3 13ms 4724 KiB
21 Hibás válasz 0/3 14ms 5084 KiB
22 Hibás válasz 0/3 16ms 5056 KiB