126882024-12-28 12:47:00GundischBalazsElágazás nélküli úton levő települések (50 pont)cpp17Futási hiba 8/50301ms32000 KiB
#include <iostream>
#include <set>
#include <vector>
using namespace std;

void bejar(int x, set <int> &megold, vector <int> fokszam, int n, vector <int> a){
    int i;
    vector <bool> volt;
    volt.resize(n);
    volt[x] = 1;
    do{
        while(a[x*(n)+i] == 0 || volt[i] == 1 ){
            i ++;
        }
            megold.insert(i+1);
            volt[i] = 1;
        x = i;
    }while(fokszam[x] == 2);
}

int main()
{
    vector <int> a;
    int  n, m;
    cin >> n >> m;
    a.resize((n)*(n));
    int x, y;
    for(int i = 0; i < m; i ++){
        cin >> x >> y;
        x--;
        y--;
        a[x*(n)+y] = 1;
        a[y*(n)+x] = 1;
    }
    vector <int> fokszam;
    fokszam.resize(n);
    for(int i = 0 ; i < n; i ++){
        for(int j =  0; j < n; j ++){
            fokszam[i] += a[i*(n)+j];
        }
    }
    set <int> halmaz;
    for(int i = 0; i < n; i ++){
        if(fokszam[i] == 1){
            bejar(i, halmaz, fokszam,n,a);
        }
    }
    cout << halmaz.size() << endl;
    for(auto i : halmaz)
        cout << i << " ";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base8/50
1Elfogadva0/01ms320 KiB
2Futási hiba0/028ms32000 KiB
3Hibás válasz0/21ms320 KiB
4Elfogadva2/21ms320 KiB
5Elfogadva2/21ms320 KiB
6Elfogadva2/21ms320 KiB
7Hibás válasz0/21ms320 KiB
8Elfogadva2/224ms8128 KiB
9Futási hiba0/2148ms31756 KiB
10Futási hiba0/227ms32000 KiB
11Futási hiba0/232ms32000 KiB
12Futási hiba0/239ms32000 KiB
13Futási hiba0/357ms8256 KiB
14Időlimit túllépés0/3301ms31600 KiB
15Futási hiba0/327ms32000 KiB
16Futási hiba0/332ms32000 KiB
17Futási hiba0/328ms32000 KiB
18Futási hiba0/335ms32000 KiB
19Futási hiba0/334ms32000 KiB
20Futási hiba0/327ms32000 KiB
21Futási hiba0/332ms32000 KiB
22Futási hiba0/326ms32000 KiB