253592026-02-19 13:49:05Leventusz09Társasjátékcpp17Futási hiba 0/100563ms262144 KiB
#include <iostream>
#include <limits.h>
#include <vector>
#define int long long

using namespace std;

struct Edge {
    int to;
    int cost;
};

struct Node {
    bool ty = 0;
    bool szomoru;
    int c = -1, oc = -1;
    vector<Edge> et;
} G[100'000];

void cszs(const int&index){
    if(G[index].ty) return;
    G[index].szomoru = 1;
    for(const Edge&e:G[index].et){
        cszs(e.to);
        if(G[e.to].szomoru) G[index].szomoru = 0;
    }

    G[index].ty = 1;
}

void con(const int& index){
    if(G[index].c >= 0) return;
    if(G[index].et.size() == 0){
        G[index].c = 0;
        G[index].oc = 0;
        return;
    }
    if(G[index].szomoru){
        Edge *mt = &G[index].et[1];
        con(mt->to);
        int mc = G[mt->to].c;
        for(Edge& e: G[index].et){
            con(e.to);
            if(G[e.to].c > mc){
                mt = &e;
                mc = G[e.to].c;
            }
        }
        G[index].c = G[mt->to].oc + mt->cost;
        G[index].oc = mc;
        return;
    }
    int mc = LLONG_MAX;
    Edge *mt = &G[index].et[0];
    for(Edge& e: G[index].et){
        if(!G[e.to].szomoru) continue;
        con(e.to);
        if(G[e.to].oc < mc){
            mt = &e;
            mc = G[e.to].oc;
        }
    }
    G[index].c = mc + mt->cost;
    G[index].oc = G[mt->to].c;
}

signed main(){
    int N, M;
    cin >> N >> M;

    for(int i=0; i<M; i++){
        int U, V, W;
        cin >> U >> V >> W;
        U--; V--;
        Edge e;
        e.to = V;
        e.cost = W;
        G[U].et.push_back(e);
    }

    cszs(0);
    con(0);
    if(G[0].szomoru) cout << "Bob" << endl << G[0].oc << endl;
    else cout << "Alice" << endl << G[0].c << endl;

    /*for(int i=0; i<N; i++){
        cout << i +1<< ": " << G[i].szomoru << "\t" << G[i].c << " " << G[i].oc << endl;
    }*/
   return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva4ms4916 KiB
2Futási hiba542ms262144 KiB
subtask20/10
3Elfogadva4ms5108 KiB
4Futási hiba236ms262144 KiB
5Futási hiba282ms262144 KiB
6Futási hiba280ms262144 KiB
7Futási hiba231ms262144 KiB
subtask30/15
8Futási hiba238ms262144 KiB
9Futási hiba237ms262144 KiB
10Futási hiba386ms262144 KiB
11Futási hiba407ms262144 KiB
12Futási hiba328ms262144 KiB
13Futási hiba444ms262144 KiB
14Futási hiba437ms262144 KiB
15Futási hiba513ms262144 KiB
16Futási hiba505ms262144 KiB
17Futási hiba433ms262144 KiB
18Futási hiba365ms262144 KiB
19Futási hiba497ms262144 KiB
subtask40/40
20Futási hiba236ms262144 KiB
21Futási hiba282ms262144 KiB
22Futási hiba397ms262144 KiB
23Futási hiba465ms262144 KiB
24Futási hiba442ms262144 KiB
25Futási hiba493ms262144 KiB
26Elfogadva231ms10036 KiB
27Futási hiba365ms262144 KiB
28Futási hiba490ms262144 KiB
subtask50/35
29Elfogadva6ms4916 KiB
30Futási hiba501ms262144 KiB
31Elfogadva4ms5108 KiB
32Futási hiba236ms262144 KiB
33Futási hiba282ms262144 KiB
34Futási hiba280ms262144 KiB
35Futási hiba231ms262144 KiB
36Futási hiba238ms262144 KiB
37Futási hiba237ms262144 KiB
38Futási hiba386ms262144 KiB
39Futási hiba407ms262144 KiB
40Futási hiba328ms262144 KiB
41Futási hiba444ms262144 KiB
42Futási hiba437ms262144 KiB
43Futási hiba513ms262144 KiB
44Futási hiba505ms262144 KiB
45Futási hiba433ms262144 KiB
46Futási hiba365ms262144 KiB
47Futási hiba497ms262144 KiB
48Futási hiba236ms262144 KiB
49Futási hiba282ms262144 KiB
50Futási hiba397ms262144 KiB
51Futási hiba465ms262144 KiB
52Futási hiba442ms262144 KiB
53Futási hiba493ms262144 KiB
54Elfogadva231ms10036 KiB
55Futási hiba365ms262144 KiB
56Futási hiba490ms262144 KiB
57Futási hiba282ms262144 KiB
58Futási hiba248ms262144 KiB
59Futási hiba293ms262144 KiB
60Futási hiba500ms262144 KiB
61Futási hiba560ms262144 KiB
62Futási hiba563ms262144 KiB
63Futási hiba501ms262144 KiB
64Futási hiba423ms262144 KiB