156032025-02-21 07:52:44ZsBalazsFertőzési sorozat (50 pont)cpp17Hibás válasz 34/5014ms508 KiB
#include <bits/stdc++.h>
using namespace std;

int n, m, k;
vector<int> sorozat;
vector<vector<int>> graph;

vector<int> napok;

bool test(int honnan) {
    napok.assign(n, 0);
    
    queue<pair<int, int>> sor;
    sor.push({honnan, 1});
    
    while (!sor.empty()) {
        int current = sor.front().first;
        int nap = sor.front().second;
        sor.pop();
        
        if (napok[current] != 0) continue;
        
        napok[current] = nap;
        
        for (int szom : graph[current]) {
            sor.push({szom, nap+1});
        }
    }
    
    bool good = true;
    
    int last = napok[sorozat[0]];
    for (int index : sorozat) {
        if (last != napok[index] && last+1 != napok[index]) {
            good = false;
            break;
        }
    }
    
    return good;
}

int main() {
	cin >> n >> m >> k;
	
	graph.resize(n);
	
	for (int i = 0; k > i; i++) {
	    int temp;
	    cin >> temp;
	    
	    sorozat.push_back(temp-1);
	}
	
	for (int i = 0; m > i; i++) {
	    int a, b;
	    cin >> a >> b;
	    
	    a--;
	    b--;
	    
	    graph[a].push_back(b);
	    graph[b].push_back(a);
	}
	
	vector<int> megoldasok;
	
	for (int i = 0; n > i; i++) {
	    if (test(i)) megoldasok.push_back(i);
	}
	
	cout << megoldasok.size() << endl;
	for (int megold : megoldasok) {
	    cout << megold+1 << " ";
	}
	cout << endl;
    
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base34/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/04ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/22ms316 KiB
6Elfogadva2/24ms316 KiB
7Elfogadva2/24ms316 KiB
8Elfogadva2/24ms508 KiB
9Elfogadva2/24ms316 KiB
10Elfogadva2/213ms448 KiB
11Elfogadva1/12ms316 KiB
12Elfogadva2/27ms432 KiB
13Elfogadva2/27ms432 KiB
14Elfogadva2/26ms316 KiB
15Elfogadva2/27ms432 KiB
16Elfogadva2/28ms316 KiB
17Elfogadva2/26ms316 KiB
18Hibás válasz0/17ms508 KiB
19Elfogadva1/17ms316 KiB
20Elfogadva1/16ms508 KiB
21Elfogadva1/114ms316 KiB
22Elfogadva1/113ms436 KiB
23Hibás válasz0/113ms444 KiB
24Hibás válasz0/112ms436 KiB
25Hibás válasz0/112ms448 KiB
26Hibás válasz0/113ms508 KiB
27Hibás válasz0/114ms444 KiB
28Hibás válasz0/113ms440 KiB
29Elfogadva1/113ms436 KiB
30Hibás válasz0/112ms316 KiB
31Hibás válasz0/112ms344 KiB
32Hibás válasz0/113ms316 KiB
33Hibás válasz0/114ms316 KiB
34Hibás válasz0/114ms444 KiB
35Hibás válasz0/114ms448 KiB
36Hibás válasz0/113ms316 KiB
37Hibás válasz0/114ms440 KiB
38Hibás válasz0/113ms448 KiB
39Elfogadva1/113ms444 KiB
40Elfogadva1/113ms444 KiB