158532025-03-05 02:28:24rennParti (75 pont)cpp17Futási hiba 4/7525ms3320 KiB
#include <bits/stdc++.h>
using namespace std;

struct Tag {
    int index;
    int bal, jobb;
    Tag *next = NULL;
};

int main()
{
    cin.tie(0);
    ios::sync_with_stdio(0);
    
    int n;
    cin >> n;
    if(n < 3)
    {
        cout << "0\n";
        return 0;
    }

    int befok[n+1] = {0};
    Tag tagok[n+1];
    Tag *c;
    
    for(int i = 1; i <= n; i++)
    {
        tagok[i].index = i;
        cin >> tagok[i].bal >> tagok[i].jobb;
        befok[tagok[i].bal]++;
        befok[tagok[i].jobb]++;
        
        tagok[i].next = tagok+i+1;
    }
    tagok[0].next = tagok+1;
    tagok[n].next = NULL;
    
    bool torles = true;
    while(torles)
    {
        torles = false;
        c = &tagok[0];
        while(c->next != NULL)
        {
            if(befok[c->next->index] < 2)
            {
                n--;
                befok[c->next->bal]--;
                befok[c->next->jobb]--;

                c->next = c->next->next;
                befok[c->next->index] = -1;
                torles = true;
                continue;
            }

            c = c->next;
        }
    }
    
    c = tagok[0].next;
    cout << n << "\n";
    while(c != NULL)
    {
        cout << c->index << " ";
        c = c->next;
    }
    cout << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/75
1Futási hiba0/01ms316 KiB
2Futási hiba0/013ms1588 KiB
3Futási hiba0/31ms508 KiB
4Futási hiba0/31ms316 KiB
5Futási hiba0/31ms316 KiB
6Futási hiba0/31ms316 KiB
7Futási hiba0/31ms316 KiB
8Futási hiba0/41ms316 KiB
9Futási hiba0/41ms316 KiB
10Futási hiba0/42ms316 KiB
11Futási hiba0/41ms316 KiB
12Futási hiba0/42ms476 KiB
13Futási hiba0/42ms564 KiB
14Futási hiba0/42ms564 KiB
15Futási hiba0/413ms1740 KiB
16Futási hiba0/414ms2064 KiB
17Futási hiba0/418ms2336 KiB
18Futási hiba0/419ms3060 KiB
19Futási hiba0/424ms2872 KiB
20Futási hiba0/425ms3320 KiB
21Futási hiba0/425ms3136 KiB
22Elfogadva4/41ms316 KiB