23722023-01-11 20:21:33sztomiÜzletlánccpp11Elfogadva 40/4043ms10844 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

vector<int> bfs(int start, vector<vector<int>>& graf, int n){
    vector<int> ki(n+1, -1);
    vector<bool> volt(n+1, false);
    queue<int> q;
    q.push(start);
    volt[start] = true;
    int akt_meret = 1, kov_meret = 0, tav = 0;
    int akt;
    while(!q.empty()){
        akt = q.front();
        ki[akt] = tav;
        akt_meret--;
        q.pop();

        for(int kov : graf[akt]){
            if(volt[kov]) continue;
            q.push(kov);
            kov_meret++;
            volt[kov] = true;
        }

        if(akt_meret == 0){
            swap(akt_meret, kov_meret);
            tav++;
        }
    }

    return ki;
}

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

    int n, m, r1, r2;
    cin >> n >> m >> r1 >> r2;

    vector<vector<int>> graf(n+1, vector<int>());
    int a, b;
    for(int i = 0; i < m; i++){
        cin >> a >> b;
        graf[a].push_back(b);
        graf[b].push_back(a);
    }

    vector<int> tav1 = bfs(r1, graf, n);
    vector<int> tav2 = bfs(r2, graf, n);
    vector<pii> kul(n);
    for(int i = 1; i <= n; i++){
        kul[i-1] = {tav1[i]-tav2[i], i};
    }

    long long ossz = 0;
    sort(kul.begin(), kul.end());
    vector<char> mo(n+1);
    for(int i = 0; i < n/2; i++){
        ossz += tav1[kul[i].second];
        mo[kul[i].second] = 'A';
    }
    for(int i = n/2; i < n; i++){
        ossz += tav2[kul[i].second];
        mo[kul[i].second] = 'B';
    }
    cout << ossz << "\n";
    for(int i = 1; i <= n; i++){
        cout << mo[i];
    }
    cout << "\n";

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/03ms1828 KiB
2Elfogadva0/02ms2024 KiB
3Elfogadva2/22ms2224 KiB
4Elfogadva2/22ms2428 KiB
5Elfogadva3/32ms2652 KiB
6Elfogadva3/32ms2864 KiB
7Elfogadva2/22ms2940 KiB
8Elfogadva2/22ms3084 KiB
9Elfogadva3/32ms3140 KiB
10Elfogadva3/32ms3124 KiB
11Elfogadva2/24ms3884 KiB
12Elfogadva2/27ms4204 KiB
13Elfogadva3/324ms6256 KiB
14Elfogadva3/34ms4280 KiB
15Elfogadva2/235ms9836 KiB
16Elfogadva2/239ms9984 KiB
17Elfogadva3/326ms9604 KiB
18Elfogadva3/343ms10844 KiB