7192021-12-21 10:37:15kidesoBürokrácia (40)cpp11Hibás válasz 13/40365ms6424 KiB
#include <iostream>
#include <vector>

using namespace std;

struct adat { int erv, cel; };
vector <adat> x;
int N;

void cs(int k, int h)
{
    if (x[k].cel == 0) return;
    x[x[k].cel].erv += h;
    cs(x[k].cel, -h);
}

int main()
{
    cin >> N;
    x.resize(N + 1);
    char tip;
    int c;

    for (int i = 1; i <= N; ++i)
    {
        cin >> tip;
        if (tip == 'R') x[i].erv = 0;
        else
        {
            cin >> c;
            x[i].cel = c;
            cs(i, 1);
        }
    }

    vector <int> r;
    for (int i = 1; i <= N; ++i)
        if (x[i].erv == 0) r.push_back(i);

    cout << r.size() << '\n';
    for (auto e : r)
        cout << e << ' ';

    return 0;
}
/*
7
R
V 1
R
V 2
V 3
V 3
V 5
*/
RészfeladatÖsszpontTesztVerdiktIdőMemória
base13/40
1Elfogadva0/03ms1808 KiB
2Elfogadva1/12ms2056 KiB
3Hibás válasz0/12ms2152 KiB
4Hibás válasz0/12ms2324 KiB
5Elfogadva1/123ms5208 KiB
6Időlimit túllépés0/1347ms2596 KiB
7Elfogadva1/148ms4972 KiB
8Hibás válasz0/248ms5180 KiB
9Hibás válasz0/250ms5232 KiB
10Hibás válasz0/252ms5292 KiB
11Hibás válasz0/250ms5492 KiB
12Elfogadva2/226ms6080 KiB
13Hibás válasz0/225ms6076 KiB
14Hibás válasz0/246ms5800 KiB
15Hibás válasz0/237ms6088 KiB
16Elfogadva2/225ms6092 KiB
17Hibás válasz0/226ms6088 KiB
18Hibás válasz0/225ms6092 KiB
19Elfogadva2/223ms6300 KiB
20Elfogadva2/223ms6292 KiB
21Elfogadva2/223ms6424 KiB
22Időlimit túllépés0/2331ms6072 KiB
23Időlimit túllépés0/4365ms3888 KiB