132662025-01-07 11:25:44mateElágazás nélküli úton levő települések (50 pont)cpp17Hibás válasz 2/5029ms1692 KiB
#include <bits/stdc++.h>
using namespace std;

vector <vector <int>> graf;
vector <bool> jart;
int cnt = 0;
vector <int> csucsok;

void dfs(int csucs, bool level){
	if(jart[csucs]){
		level = 0;
		return;
	}
	if(!level){
		return;
	}
	jart[csucs] = 1;
	if(graf[csucs].size() <= 2){
		cnt++;
		level = 1;
	}else{
		level = 0;
		return;
	}

	for(int x : graf[csucs]){
		dfs(x, level);
		if(level){
			csucsok.push_back(x);
		}
	}
}

int main() {
	int n,m; cin >> n >> m;
	graf.resize(n+1);
	jart.resize(n+1,0);
	for(int i = 0; i < m; i++){
		int a,b; cin >> a >> b;
		graf[a].push_back(b);
		graf[b].push_back(a);
	}
	for(int i = 1; i <= n; i++){
		if(graf[i].size() == 1 && !jart[i]){
			dfs(i,1);
		}
	}
	cout << cnt << '\n';
	sort(csucsok.begin(),csucsok.end());
	for(int i = 1; i <= cnt; i++){
		cout << csucsok[i] << ' ';
	}
	
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base2/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/028ms1668 KiB
3Hibás válasz0/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Hibás válasz0/21ms508 KiB
7Hibás válasz0/21ms604 KiB
8Hibás válasz0/23ms316 KiB
9Hibás válasz0/24ms564 KiB
10Hibás válasz0/28ms680 KiB
11Hibás válasz0/214ms1088 KiB
12Hibás válasz0/214ms972 KiB
13Hibás válasz0/32ms316 KiB
14Hibás válasz0/34ms564 KiB
15Hibás válasz0/34ms576 KiB
16Hibás válasz0/36ms564 KiB
17Hibás válasz0/314ms824 KiB
18Hibás válasz0/314ms1036 KiB
19Hibás válasz0/317ms1172 KiB
20Hibás válasz0/328ms1644 KiB
21Hibás válasz0/329ms1688 KiB
22Hibás válasz0/328ms1692 KiB