199832025-12-30 21:02:44VargaVivienVárosnézéscpp17Futási hiba 0/801.1s262144 KiB
#include <iostream>
#include <vector>
#include <string>

using namespace std;

struct ut
{
    int bol, ba;
};

bool latogatas(int varos, int *latvanyossag, int *db, vector<vector<int>> terkep, int n, vector<int> &szam)
{
    bool vege = false;
    vector<int> maximum;
    vector<int> temp;
    int maxi = 0;
   // cout << "szam" << &szam << endl;
   // cout << "temp" << &temp << endl;
    if(varos == n)
    {
        vege = true;
        *db += latvanyossag[varos - 1];
        szam.push_back(varos);
        return vege;
    }
    else
    {
        int reszdb;
        szam.push_back(varos);
        for(int i = 1; i <= n; i++)
        {

            reszdb = *db + latvanyossag[varos - 1];
            temp.clear();
            if(terkep[varos-1][i-1] == 1)
            {
                if(latogatas(i, latvanyossag, &reszdb, terkep, n, temp))
                {
                    vege = true;
                    if(reszdb > maxi)
                    {
                        maxi = reszdb;
                        maximum.clear();
                        for(int j : temp)
                        {
                        //    cout << temp[j] <<endl;
                            maximum.push_back(j);
                        }
                    }
                }
            }
        }
        if(!vege)
        {
            szam.pop_back();
        }
        else
        {
            for(int j:maximum)
            {
                szam.push_back(j);
            }
        }
        *db = maxi;
        return vege;
    }
}

int main()
{
    int n, m;
    ut x;
    cin >> x.bol >> x.ba;
    n = x.bol;
    m = x.ba;
    int numbers[n];
    for(int i=0; i<n; i++) cin >> numbers[i];

    vector <vector<int>> terkep(n, vector<int>(n,0));

    for(int i = 0; i < m; i++)
    {
        cin >> x.bol >> x.ba;
        terkep[x.bol-1][x.ba-1]=1;

    }
    int db = 0;
    vector<int> szam;
    if (latogatas(1, numbers, &db, terkep, n, szam))
    {
        cout << db << endl;
        //cout << szam.size()<< endl;
        for (int j:szam)
        {
            cout << j << " ";
        }
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask20/20
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
4Elfogadva1ms316 KiB
5Futási hiba277ms262144 KiB
6Futási hiba421ms262144 KiB
7Futási hiba219ms262144 KiB
8Futási hiba266ms262144 KiB
9Elfogadva2ms820 KiB
10Futási hiba218ms262144 KiB
11Elfogadva1ms564 KiB
12Elfogadva1ms316 KiB
subtask30/25
13Elfogadva2ms316 KiB
14Elfogadva1ms556 KiB
15Elfogadva1ms316 KiB
16Elfogadva37ms436 KiB
17Elfogadva1ms316 KiB
18Elfogadva10ms316 KiB
19Elfogadva1ms316 KiB
20Hibás válasz1ms316 KiB
21Hibás válasz1ms500 KiB
22Időlimit túllépés1.1s12800 KiB
23Hibás válasz30ms30576 KiB
24Időlimit túllépés1.1s19468 KiB
25Időlimit túllépés1.1s17204 KiB
26Hibás válasz14ms13300 KiB
27Hibás válasz25ms21044 KiB
28Futási hiba296ms262144 KiB
29Időlimit túllépés1.098s257732 KiB
30Futási hiba247ms262144 KiB
31Futási hiba238ms262144 KiB
32Futási hiba268ms262144 KiB
33Futási hiba279ms262144 KiB
subtask40/20
34Elfogadva1ms508 KiB
35Elfogadva1ms500 KiB
36Elfogadva1ms316 KiB
37Elfogadva1ms316 KiB
38Elfogadva18ms428 KiB
39Elfogadva1ms316 KiB
40Elfogadva9ms472 KiB
41Hibás válasz1ms332 KiB
42Hibás válasz1ms500 KiB
43Hibás válasz1ms500 KiB
44Elfogadva18ms428 KiB
45Hibás válasz1ms316 KiB
46Elfogadva555ms480 KiB
47Elfogadva4ms316 KiB
48Hibás válasz1ms316 KiB
49Hibás válasz4ms564 KiB
50Elfogadva1ms400 KiB
51Elfogadva1ms316 KiB
52Elfogadva1ms316 KiB
53Elfogadva1ms316 KiB
54Elfogadva1ms500 KiB
55Elfogadva1ms508 KiB
56Elfogadva1ms400 KiB
57Elfogadva1ms560 KiB
58Elfogadva1ms564 KiB
59Elfogadva1ms316 KiB
60Elfogadva1ms508 KiB
61Elfogadva1ms316 KiB
62Elfogadva1ms316 KiB
63Elfogadva1ms316 KiB
64Elfogadva1ms316 KiB
65Elfogadva1ms316 KiB
66Elfogadva1ms316 KiB
subtask50/15
67Elfogadva1ms508 KiB
68Elfogadva1ms316 KiB
69Elfogadva1ms316 KiB
70Elfogadva1ms316 KiB
71Futási hiba277ms262144 KiB
72Futási hiba421ms262144 KiB
73Futási hiba219ms262144 KiB
74Futási hiba266ms262144 KiB
75Elfogadva2ms820 KiB
76Futási hiba218ms262144 KiB
77Elfogadva1ms564 KiB
78Elfogadva1ms316 KiB
79Elfogadva2ms316 KiB
80Elfogadva1ms556 KiB
81Elfogadva1ms316 KiB
82Elfogadva37ms436 KiB
83Elfogadva1ms316 KiB
84Elfogadva10ms316 KiB
85Elfogadva1ms316 KiB
86Hibás válasz1ms316 KiB
87Hibás válasz1ms500 KiB
88Időlimit túllépés1.1s12800 KiB
89Hibás válasz30ms30576 KiB
90Időlimit túllépés1.1s19468 KiB
91Időlimit túllépés1.1s17204 KiB
92Hibás válasz14ms13300 KiB
93Hibás válasz25ms21044 KiB
94Futási hiba296ms262144 KiB
95Időlimit túllépés1.098s257732 KiB
96Futási hiba247ms262144 KiB
97Futási hiba238ms262144 KiB
98Futási hiba268ms262144 KiB
99Futási hiba279ms262144 KiB
100Elfogadva1ms500 KiB
101Elfogadva1ms316 KiB
102Elfogadva1ms316 KiB
103Elfogadva18ms428 KiB
104Elfogadva1ms316 KiB
105Elfogadva9ms472 KiB
106Hibás válasz1ms332 KiB
107Hibás válasz1ms500 KiB
108Hibás válasz1ms500 KiB
109Elfogadva18ms428 KiB
110Hibás válasz1ms316 KiB
111Elfogadva555ms480 KiB
112Elfogadva4ms316 KiB
113Hibás válasz1ms316 KiB
114Hibás válasz4ms564 KiB
115Elfogadva1ms400 KiB
116Elfogadva1ms316 KiB
117Elfogadva1ms316 KiB
118Elfogadva1ms316 KiB
119Elfogadva1ms500 KiB
120Elfogadva1ms508 KiB
121Elfogadva1ms400 KiB
122Elfogadva1ms560 KiB
123Elfogadva1ms564 KiB
124Elfogadva1ms316 KiB
125Elfogadva1ms508 KiB
126Elfogadva1ms316 KiB
127Elfogadva1ms316 KiB
128Elfogadva1ms316 KiB
129Elfogadva1ms316 KiB
130Elfogadva1ms316 KiB
131Elfogadva1ms316 KiB
132Időlimit túllépés1.074s6280 KiB
133Hibás válasz26ms30516 KiB
134Időlimit túllépés1.075s16436 KiB
135Időlimit túllépés1.075s20800 KiB
136Időlimit túllépés1.087s16692 KiB
137Időlimit túllépés1.083s17248 KiB
138Időlimit túllépés1.082s4396 KiB
139Hibás válasz32ms31028 KiB
140Futási hiba223ms262144 KiB
141Futási hiba256ms262144 KiB
142Futási hiba228ms262144 KiB
143Futási hiba254ms262144 KiB
144Futási hiba215ms262144 KiB
145Futási hiba268ms262144 KiB
146Futási hiba215ms262144 KiB
147Futási hiba261ms262144 KiB
148Futási hiba215ms262144 KiB
149Futási hiba228ms262144 KiB